我正在使用如下所示的“awk”命令,它打印所有包含“cake”的 .out 文件的第 4 列:
awk '/cake/{print $4}' ./*/*.out
我的输出是一列,说:
1
2
3
4
5
6
Run Code Online (Sandbox Code Playgroud)
我如何将其重新格式化为如下所示的内容:
1 4
2 5
3 6
Run Code Online (Sandbox Code Playgroud)
或者
1 3 5
2 4 6
Run Code Online (Sandbox Code Playgroud)
即具有一定数量的列元素(在上述情况下为 3 和 2)。
更好的是,我可以让它在同一命令中将输出输出为 csv 文件吗?
谢谢你。
你可以自己做awk,但我更喜欢pr这个
$ # -2 is number of columns needed
$ # -s option specifies delimiter, default is tab
$ seq 6 | pr -2ts','
1,4
2,5
3,6
$ seq 6 | pr -3ts','
1,3,5
2,4,6
$ # you can also change horizontal/vertical order
$ seq 6 | pr -3ats','
1,2,3
4,5,6
Run Code Online (Sandbox Code Playgroud)