我有一个文本文件,我只想要第一列和最后一列。但问题是它们被随机位置的空格和制表符分隔开来,这使得我很难使用cut
USER02163 name BAD
USER5415 ab lsi ei GOOD
USER15356 sl oe ow BAD
所需的输出是:
USER02163 BAD
USER5415 GOOD
USER15356 BAD
有没有人有一种hacky方式我能得到我想要的输出?
答案 0 :(得分:13)
使用awk
最简单。命令是:
awk '{print $1, $NF}' filename
答案 1 :(得分:1)
在awk中将字段分隔符指定为空格时,它将包含单个和多个空格。所以你可以这样使用,
awk -F " " '{print $1,$NF}' file
与unxnut回答相同。添加了字段分隔符,可提供清晰的洞察力
答案 2 :(得分:1)
使用此sed命令
$ sed -r 's/([^ ]*) (.*) (.*$)/\1 \3/' filename
输出结果为:
USER02163 BAD
USER5415 GOOD
USER15356 BAD