使用awk或any考虑两个字符串之间的空格

时间:2016-06-06 21:44:17

标签: bash awk sed

我正在尝试编写一个bash脚本,我使用awk获取特定字段。

示例:

# cat test.txt
USER NAME    LOCATION
Frank        China
Martin       Indonesia
Tom Hanks    United States
Ron Howard   Germany

当我尝试使用awk获取第一个字段时:

# cat test.txt  | awk '{print $1}'
USER
Frank
Martin
Tom
Ron

但我希望输出为

预期输出

#cat test.txt
USER NAME
Frank        
Martin       
Tom Hanks    
Ron Howard 

我甚至尝试了awk -F"\t" '{print $1 (or) $2}',但我只得到了空白输出。我在while循环中使用了这个文件。

 #cat test.txt  | awk -F"\t" '{print $2}'

任何提示都会有所帮助。

1 个答案:

答案 0 :(得分:4)

您可以使用带有2个或更多空格的分隔符:

awk -F ' {2,}' '{print $1}' file

USER NAME
Frank
Martin
Tom Hanks
Ron Howard