我正在使用从文件中打印一些值awk
awk 'NR>1{print $20,$45,$102}' RS='vector'
它打印它们很好,但不幸的是,一个值总是按原样打印,即与:
1 8: 34
1 9: 32
有没有办法:
在值之后删除,所以我可以得到:
1 8 34
1 9 32
我猜它:
属于第 45 列。您可以使用 awk 的sub()
函数将其删除。
试试这个:
awk 'NR>1{sub(/:$/,"",$45); print $20,$45,$102}' RS='vector' file
你没有显示你的输入文件,所以它是猜测工作,但也许你需要的只是:
在你的 FS 中包含:
awk 'NR>1{print $20,$45,$102}' FS='[[:space:]:]+' RS='vector'
使用 printf 函数将其格式化为数字:
awk 'NR>1{printf "%d %d %d\n", $20,$45,$102}' RS='vector'