我如何一次从1个文件中读取2个文件?假设我有file1和file2以及以下内容:
文件1:
line1.a
line2.a
line3.a
Run Code Online (Sandbox Code Playgroud)
文件2:
line1.b
line2.b
line3.b
Run Code Online (Sandbox Code Playgroud)
我如何获得这样的输出 -
line1.a
line1.b
line2.a
line2.b
line3.a
line3.b
...
...
Run Code Online (Sandbox Code Playgroud)
jay*_*ngh 30
您可以通过纯粹的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
Run Code Online (Sandbox Code Playgroud)
<&3告诉bash读取描述符3中的文件.您将意识到Stdin,Stdout和Stderr使用0,1和2描述符.所以我们应该避免使用它们.此外,9之后的描述符由bash内部使用,因此您可以使用3到9中的任何一个.
[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
Run Code Online (Sandbox Code Playgroud)
[jaypal:~/Temp] paste -d"\n" file1 file2
line1.a
line1.b
line2.a
line2.b
line3.a
line3.b
line4.a
line4.b
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13651 次 |
| 最近记录: |