我有从标准输出到达的数据列(在我的情况下是对mysql的调用),我想在每个循环中追加文件中的列.我能怎么做?
Standard output:
a1
a2
....
an
Run Code Online (Sandbox Code Playgroud)
保存在名为table.dat的文件中:
table.dat:
a1
a2
....
an
Run Code Online (Sandbox Code Playgroud)
然后产生另一个输出:
Further standard output:
b1
b2
....
bn
Run Code Online (Sandbox Code Playgroud)
附加到table.dat:
table.dat:
a1 b1
a2 b2
.... ....
an bn
Run Code Online (Sandbox Code Playgroud)
...等等.我可以使用粘贴,但我需要三个步骤:
line producing standard output > tmpfile;
paste prevfile tmpfile > table
mv table prevfile;
Run Code Online (Sandbox Code Playgroud)
是否有更快的方式,也许使用awk?
此解决方案: 向文件添加新列 会生成一个空表.
您可以通过从stdin读取来使用这样的粘贴:
paste <(command1) <(command2)
Run Code Online (Sandbox Code Playgroud)
例如
paste <(cat f1) <(cat f2)
Run Code Online (Sandbox Code Playgroud)
代替:
paste f1 f2
Run Code Online (Sandbox Code Playgroud)