Slava Asked: 2023-03-12 01:49:30 +0800 CST2023-03-12 01:49:30 +0800 CST 2023-03-12 01:49:30 +0800 CST 如何使用 sed、cut 或 awk 只保留每行中的第一个单词? 772 我有一个具有以下格式的大列表: info1 info2 info3 info4 每行都有这四个字段。如何使用正则表达式删除每行除第一个单词以外的所有单词? regular-expression 1 个回答 Voted Best Answer Kusalananda 2023-03-12T03:00:07+08:002023-03-12T03:00:07+08:00 假设一个空格分隔您的单词,您不需要使用正则表达式来仅提取第一个以空格分隔的单词。相反,使用cut空格作为分隔符: cut -d ' ' -f 1 file 您还可以使用awk,默认情况下使用连续空格或制表符作为其字段分隔符,以仅打印每行的第一个字段。这是另一种不需要使用正则表达式的情况。 awk '{ print $1 }' file -F ' '如果您只想使用单个空格作为分隔符,请与上面一起使用。 如果你真的需要使用一个正则表达式(例如,让一些老师高兴),那么使用一个带有替换命令的sed: sed 's/ .*//' file 此命令删除(替换为空)从第一个空格字符到每行末尾的所有内容。
假设一个空格分隔您的单词,您不需要使用正则表达式来仅提取第一个以空格分隔的单词。相反,使用
cut
空格作为分隔符:您还可以使用
awk
,默认情况下使用连续空格或制表符作为其字段分隔符,以仅打印每行的第一个字段。这是另一种不需要使用正则表达式的情况。-F ' '
如果您只想使用单个空格作为分隔符,请与上面一起使用。如果你真的需要使用一个正则表达式(例如,让一些老师高兴),那么使用一个带有替换命令的
sed
:此命令删除(替换为空)从第一个空格字符到每行末尾的所有内容。