foreach line in file1... { loop through lines in file2... { ...many comparisons... decide which one is next } } #### foreach line in file1... { # insert file2 line(s) that should go before the # current line from file1 while {the current line in file2 is "next" in total order} { output that line from file2; move to next line in file2 } output the file1 line } output rest of file2 lines (if any)