在 txt 文件中使用 Grep 查找以相同字母开头的 7 个字母的单词

在 txt 文件中使用 Grep 查找以相同字母开头的 7 个字母的单词
grep -i "^(.).*\1$" sowpods.txt > output.txt

我正在使用下载的拼字游戏单词列表“sowpods.txt”,并尝试使用 grep 查找文件中所有以相同字母开头和结尾的 7 个字母的单词。我现在看到的行给出了反向引用错误,因此我尝试使用在线指南,但它们非常令人困惑。有人可以帮我吗?谢谢!

我也在用 Mac,并且使用默认终端。

答案1

如果你想使用基本的正则表达式(不带选项),在开括号和闭括号前-E需要一个反斜杠:\

grep -i '^\(.\).\{5\}\1$' file

请注意,最好在 grep 正则表达式中使用单引号,以避免 shell 参数扩展。

答案2

这将作为扩展的正则表达式工作。你需要grep -E

grep -E -i "^(.).*\1$"

要匹配 7 个字母的单词,您需要将其替换*{5}

grep -E -i "^(.).{5}\1$"

相关内容