如何一次从 2 个文件中读取 1 行?假设我有包含以下内容的 file1 和 file2:
文件 1:
line1.a
line2.a
line3.a
文件 2:
line1.b
line2.b
line3.b
我如何获得这样的输出 -
line1.a
line1.b
line2.a
line2.b
line3.a
line3.b
...
...
最佳答案
您可以通过纯 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
使用文件描述符的纯 Bash 解决方案:
[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
关于bash - 如何从 2 个文件中依次读取 1 行?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8550385/