Вы можете сделать это либо чистым bash
способом, либо с помощью инструмента под названием paste
:
Ваши файлы:
[jaypal:~/Temp] cat file1
line1.a
line2.a
line3.a
line4.a
[jaypal:~/Temp] cat file2
line1.b
line2.b
line3.b
line4.b
PureBash Solution с использованием файловых дескрипторов:
<& 3 сообщает bash о необходимости прочитать файл в дескрипторе 3. Вы должны знать, что дескрипторы 0, 1 и 2 используются Stdin, Stdout и Stderr.Поэтому мы должны избегать их использования.Кроме того, дескрипторы после 9 используются bash внутри, поэтому вы можете использовать любой из 3 - 9. </p>
[jaypal:~/Temp] while read -r a && read -r b <&3; do
> echo -e "$a\n$b";
> done < file1 3<file2
line1.a
line1.b
line2.a
line2.b
line3.a
line3.b
line4.a
line4.b
Утилита вставки:
[jaypal:~/Temp] paste -d"\n" file1 file2
line1.a
line1.b
line2.a
line2.b
line3.a
line3.b
line4.a
line4.b