Viv*_*gam 3 awk perl text-processing
我在 Linux 上有这个文件:
14:00:01.071 5255 604177
4 14:00:01.074 4608 1415742
14:00:01.074 18398 1122001
2 14:00:01.074 11723 155575
5 14:00:01.075 4695 885808
Run Code Online (Sandbox Code Playgroud)
期望输出:
14:00:01.071 5255 604177
14:00:01.074 4608 1415742
14:00:01.074 18398 1122001
14:00:01.074 11723 155575
14:00:01.075 4695 885808
Run Code Online (Sandbox Code Playgroud)
使用的命令:
gawk '{ print $NF-1, $NF}' filename
Run Code Online (Sandbox Code Playgroud)
但它只打印最后两列。
假设
然后您可以使用cut -d' ' -f2-
从空格分隔的值文件打印从第二列到最后一列的内容。
这是非常不正确的,$NF-1
会打印最后一列的值减去一。您需要在 内对命令进行分组(..)
,因为NF
是一个变量
gawk 'NF>=3{ print $(NF-2), $(NF-1), $NF}' file
Run Code Online (Sandbox Code Playgroud)
这部分NF>=3
是为了安全地验证您是否在保证至少有 3 个字段的行上打印最后 3 个字段。