Это будет работать как расширенное регулярное выражение. Вам нужно grep -E
:
grep -E -i "^(.).*\1$"
Для сопоставления 7-буквенных слов вам необходимо заменить *
на :
grep -E -i "^(.).\1$"
grep -i "^(.).*\1$" sowpods.txt > output.txt
Я использую список слов скрэббл, который я скачал под названием "sowpods.txt", и я пытаюсь использовать grep, чтобы найти все 7-буквенные слова в файле, которые начинаются и заканчиваются одной и той же буквой. из-за ошибки обратной ссылки, поэтому я попытался использовать онлайн-справочники, но они были безумно запутанными. Может ли кто-нибудь помочь мне сделать это? Спасибо!
Я также на Mac и использую терминал по умолчанию.
Это будет работать как расширенное регулярное выражение. Вам нужно grep -E
:
grep -E -i "^(.).*\1$"
Для сопоставления 7-буквенных слов вам необходимо заменить *
на :
grep -E -i "^(.).\1$"
Если вы хотите использовать основное регулярное выражение (без опции -E
), вам нужно поставить обратную косую черту \
перед открывающей и закрывающей скобками:
grep -i '^\(.\).\\1$' file
Обратите внимание, что во избежание расширения параметров оболочки рекомендуется использовать одинарные кавычки в регулярных выражениях grep.