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

问题描述 投票:0回答:3

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

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

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

grep [:alpha:]{4} words

但这返回零结果。

grep regex
3个回答
27
投票

应该是:

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

我们对其进行锚定(因为 5 个字母的字符串还包含一个 4 个字母的字符串),并且 POSIX 字符类必须包含在括号表达式中 (

[]
)。另外,我们还对外壳进行报价。并且需要扩展,所以-E.


17
投票

尝试记住正则表达式语言

grep
支持多少......确实

grep '^....$' words

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


0
投票

grep 使用 BRE

您特别想要的是

grep "[:alpha:]\{4\}" words
© www.soinside.com 2019 - 2024. All rights reserved.