8

我有一个文本文件,我只想要第一列和最后一列。但是问题是它们在随机位置被空格和制表符分隔,这让我很难使用cut

USER02163 name BAD
USER5415 ab lsi ei GOOD
USER15356 sl oe ow BAD

期望的输出是:

USER02163 BAD
USER5415 GOOD
USER15356 BAD

有没有人有办法让我得到我想要的输出?

4

3 回答 3

20

最容易使用awk. 命令是:

awk '{print $1, $NF}' filename
于 2013-09-11T02:27:12.667 回答
1

当您在 awk 中将字段分隔符指定为空格时,它将包括单个和多个空格。所以你可以这样使用,

awk -F " " '{print $1,$NF}' file

与 unxnut 答案相同。添加了字段分隔符,可提供清晰的洞察力。

于 2013-09-11T09:09:19.673 回答
1

使用这个 sed 命令

$ sed -r 's/([^ ]*) (.*) (.*$)/\1  \3/' filename

输出是:

   USER02163  BAD
   USER5415  GOOD
   USER15356  BAD
于 2013-12-04T13:25:21.780 回答