我有一个很大的列表,格式如下:
info1 info2 info3 info4
每行都有这四个字段。如何使用正则表达式删除每行除第一个单词之外的所有单词?
答案1
假设用空格分隔单词,则不需要使用正则表达式来仅提取第一个以空格分隔的单词。相反,使用cut
空格作为分隔符:
cut -d ' ' -f 1 file
您还可以使用awk
,它默认使用连续的空格或制表符作为其字段分隔符,仅打印每行的第一个字段。这是另一种不需要使用正则表达式的情况。
awk '{ print $1 }' file
-F ' '
如果您只想使用单个空格作为分隔符,请与上述一起使用。
如果你真的需要使用正则表达式(例如,为了让某位老师高兴),然后使用替换命令sed
:
sed 's/ .*//' file
此命令删除(不替换)从第一个空格字符到每行末尾的所有内容。