Вот решение, использующее awk
:
awk '{print; if(getline < "file2") print}' file1
производит такой вывод:
line 1 from file1
line 1 from file2
line 2 from file1
line 2 from file2
...etc
Использование awk
может быть полезно, если вы хотите добавить дополнительное форматирование кнапример, если вы хотите пометить каждую строку в зависимости от того, из какого файла он получен:
awk '{print "1: "$0; if(getline < "file2") print "2: "$0}' file1
производит такой вывод:
1: line 1 from file1
2: line 1 from file2
1: line 2 from file1
2: line 2 from file2
...etc
Примечание: этот код предполагает, что file1 имеетбольше или равно длине файла 2.
Если файл1 содержит больше строк, чем файл2, и вы хотите вывести пустые строки для файла2 после его завершения, добавьте предложение else в тест getline:
awk '{print; if(getline < "file2") print; else print ""}' file1
или
awk '{print "1: "$0; if(getline < "file2") print "2: "$0; else print"2: "}' file1