使用awk在文件上附加列

leo*_*hel 3 bash awk

我有从标准输出到达的数据列(在我的情况下是对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?

此解决方案: 向文件添加新列 会生成一个空表.

anu*_*ava 6

您可以通过从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)