我正在尝试使用 awk 脚本将多行编译为一行;我怎样才能做到这一点?
我正在使用命令:
awk < $pot/towhee.prod 'NR==411{print$5,$6}''NR==412{print$5,$6}''NR==430{print$7,$8}'
它产生这个:
0.24975E-01 0.00000E+00
0.36574E+04 0.59343E+02
-3340.691 0.399
但我想要这个:
0.24975E-01 0.00000E+00 0.36574E+04 0.59343E+02 -3340.691 0.399
我该怎么做?
答案1
您可以设置输出记录分隔符到一个空格(或制表符)。如果您希望打印输出时带有终止换行符,则可以在最终打印之前将其更改回来
awk 'BEGIN{ORS=" "} NR==411{print$5,$6}''NR==412{print$5,$6}''NR==430{ORS="\n"; print$7,$8}'
答案2
答案3
尝试这个,
awk < $pot/towhee.prod 'NR==411{print$5,$6}''NR==412{print$5,$6}''NR==430{print$7,$8}' | tr '\n' ' '