从文本文件中提取第一列和最后一列

时间:2013-09-11 02:23:48

标签: unix

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

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

所需的输出是:

USER02163 BAD
USER5415 GOOD
USER15356 BAD

有没有人有一种hacky方式我能得到我想要的输出?

3 个答案:

答案 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