如何一次从 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/

10-16 12:26