Найти и регулярное выражение

Что я делаю неправильно с этим выражением находки?

; touch ook ooks ; find . -name 'ook' -or -name 'ooks' -type f ./ook ./ooks ; find . -name 'ook[s]?' -type f [returns nothing] ; echo $? 0 

  • Поиск имени файла в файле
  • Почему мне нужно избегать символов регулярных выражений в sed для интерпретации символов регулярных выражений?
  • Каково определение регулярного выражения?
  • linux + соответствует IP ADDRESS с 3 октетами или с 4 октетами
  • Поиск шаблона для нескольких файлов и замена подчасти во всех случаях
  • Прокомментируйте оператор if и соответствующее ключевое слово endif
  • найти команду с помощью квантификатора regex, например {1,2}
  • Количество символов языка X в смешанном текстовом файле?
  • 2 Solutions collect form web for “Найти и регулярное выражение”

    Вы смешиваете регулярные выражения с шаблонами поиска оболочки.

    ? в оболочке означает любой отдельный символ.

    ? в regexp означает, что предыдущий символ (или подзапись) является необязательным.

    Пытаться:

    find . -regex '.*ooks?' -type f

    На странице поиска:

            -regex pattern
                   Имя файла соответствует шаблону регулярного выражения.  Это совпадение
                   на весь путь, а не на поиск.  Например, чтобы сопоставить файл
                   с именем `./fubar3 ', вы можете использовать регулярное выражение`. * bar.'  или
                   `. * b. * 3 ', но не` f. * r3'.  Регулярные выражения понятны
                   по поискам по умолчанию Emacs Regular Expressions, но это может
                   изменить с помощью параметра -regextype.
    

    Этот ответ применяется, по крайней мере, к GNU find.

    -name совпадает с использованием шаблонов оболочки, если вы хотите выполнить сопоставление регулярных выражений, вместо этого используйте -regex :

      find . -regex '.*ook[s]?' -type f 

    -regex соответствует всему пути с использованием emacs regex. Тип регулярного выражения можно изменить с помощью параметра -regextype .

    Interesting Posts

    Что такое PCI BAR номера 7,13,14,15 в Linux?

    Зашифрованная загрузка падает на оболочку, как настроить LVM crypttab последовательно? «ALERT! {логический путь тома} не существует '

    Сделать каталог немодифицированным или невосстанавливаемым, кроме как root

    Что нужно для остановки системы * nix, а затем продолжать собирать?

    Linux From Scratch: libgmp.la, libmpfr.la и libmpc.la не найдены во время проверки версии

    Сервер Ubuntu переходит в режим ожидания

    no stderr output при использовании stdbuf -o 0 | & tee log

    Есть ли способ перестроить только часть диска в настройке mdraid5?

    Отображение и дешифрование логического буфера Archlinux ARM Rasperry Pi

    Почему «grep». * «файл» работает и «grep. * файл« нет »?

    переупорядочить GRUB для отображения Windows сверху

    Возможно ли включить пользователя, зарегистрированного в среду рабочего стола, через терминал?

    добавить строку, в которой она принадлежит в отсортированном файле

    Как выбрать / удалить до конца файла в vim / gvim?

    Почему каждая программа или служба имеет собственную учетную запись в / etc / passwd?

    Linux и Unix - лучшая ОС в мире.