如何grep所有少于4个字符的单词?

时间:2011-02-13 02:29:28

标签: linux unix grep

我有一个字典,其中的单词用换行符分隔。

3 个答案:

答案 0 :(得分:3)

像这样: grep -v "^...." my_file

答案 1 :(得分:3)

你可以这样做:

egrep -x '.{1,3}' myfile

这也会跳过空行,技术上不是单词。不幸的是,上面的reg-ex会将收缩中的撇号计数为字母以及带连字符的复合词中的连字符。在如此低的字母数下,连字符复合词不是问题,但我不确定你是否想在收缩中计算撇号,这是可能的(例如,我)。您可以尝试使用注册表,例如:

egrep -x '\w{1,3}' myfile

...,但这只会匹配大写/小写字母,而根本不匹配缩写或带连字符的复合词。

答案 2 :(得分:2)

试试这个正则表达式:

grep -E '^.{1,3}$' your_dictionary