Возможно ли в команде find использовать или указать несколько шаблонов для поиска с помощью регулярных выражений или любых других средств? Например, я ищу все файлы, которые не .bashrc
или .profile
в определенном каталоге. Следующее не работает, но дает представление о том, что я пытаюсь достичь:
find . ! -name "(.bashrc|.profile)"
Спасибо!
Вы можете использовать
! \( -name '.bashrc' -o -name '.profile' \)
Пример.
$ find /etc/skel ! \( -name '.bashrc' -o -name '.profile' \)
/etc/skel
/etc/skel/.mkshrc
/etc/skel/examples.desktop
/etc/skel/.kshrc
/etc/skel/.bash_logout
Кавычки на самом деле не нужны в этом случае, но вы должны иметь привычку использовать их в случае, если шаблон поиска содержит символы-глобусы.