我需要一个grep
命令来查找仅包含长度大于 10 的单词的所有行。
这是grep
我为了查找大于 10 个字符的单词而写的。
grep -E '(\w{11,})' input
我将如何操作此命令以包含该行中的每个单词?
答案1
您的条件可能更容易用反证来表达:不包括所有单词长度> 10的行,而是排除那些长度<= 10的单词的行。由于 grep 支持否定和单词匹配,因此可以写成如,说:
grep -vwE '\w{1,10}'
-v
否定比赛-w
意味着正则表达式应该匹配整个单词
正如 Sundeep 所指出的,我们应该{1,10}
避免匹配空字符串(以及每一行)。