你如何使用grep查找n个字符长的术语?

时间:2010-05-22 07:11:39

标签: grep regex

我正在使用grep过滤Mac OS X词典单词文件(默认情况下位于/ usr / share / dict / words)。

我想用grep来检索四个字符长的所有单词。我该怎么做?

我对如何做到这一点的最佳猜测是:

grep [:alpha:]{4} words

但是这会导致零结果。

2 个答案:

答案 0 :(得分:14)

应该是:

grep -E '^[[:alpha:]]{4}$' words

我们锚定它(因为5个字母的字符串也包含4个字母的字符串),并且POSIX字符类必须包含在括号表达式([])中。另外,我们引用shell。它需要扩展,所以-E。

答案 1 :(得分:10)

试着记住正则表达式语言grep支持多少...

grep '^....$' words

为你工作?请注意,由于您正在搜索字典文件,因此我不确定您是否需要将自己限制为字母。