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

Unix 从文本文件中提取第一列和最后一列,unix,Unix,我有一个文本文件,我只想要第一列和最后一列。但是问题是它们在随机的位置被空格和制表符隔开,这使得我很难使用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中将字

我有一个文本文件,我只想要第一列和最后一列。但是问题是它们在随机的位置被空格和制表符隔开,这使得我很难使用
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