Я использую grep для фильтрации файла слов словаря Mac OS X (по умолчанию расположенный в/usr/share/dict/words).
Я хочу использовать grep для получения всех слов четыре символа долго. Как я делаю это?
Мое лучшее предположение для того, как сделать это, было:
grep [:alpha:]{4} words
Но это возвращает нулевые результаты.
Пытаюсь вспомнить, какая часть языка регулярных выражений grep
поддерживает ...
grep '^....$' words
работает для вас? Обратите внимание: поскольку вы ищете файл словаря, я не уверен, что вам нужно ограничиваться буквами.
Это должно быть:
grep -E '^[[:alpha:]]{4}$' words
Мы привязываем его (поскольку 5-буквенная строка также содержит 4-буквенную строку), а классы символов POSIX должны содержаться в выражении в квадратных скобках ([]
). Также мы цитируем оболочку. И его нужно расширить, поэтому -E.