Grep不使用锚标签

时间:2013-02-11 23:58:29

标签: regex unix grep

我正在尝试查找/usr/dict/words中与我姓名相匹配的每个单词。我认为这样可行:

cat /usr/dict/words | grep "^[mason]\+$"

但它不会打印任何内容。

话虽如此,当我跑步时:

cat /usr/dict/words | grep -v [A-Zbcdefghijlkpqrtuvwxyz]

我得到了正确的输出。我真的很困惑。发生了什么事?

1 个答案:

答案 0 :(得分:2)

鉴于您没有查看/usr/share/dict/words,我认为您不在Linux上。鉴于+grep的非标准扩展,我猜您使用的grep无法识别+。尝试:

 grep '^[mason][mason]*$' /usr/dict/words

grep -E '^[mason]+$' /usr/dict/words