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