Я делаю поиск слов с помощью следующей команды:

find . -exec grep -q [some_word]  '{}' \; -print -o -name .svn -prune -o -name .ssh -prune -o -name .boneyard -o -name log -prune -prune -o -name tmp -prune

Можно ли использовать регулярное выражение для исключения всех скрытых каталогов?

Примечание: текущая команда обходит все дерево из текущего местоположения и исключает те, которые удаляются. Исключение должно работать для любого скрытого каталога независимо от его местоположения.

1 ответ1

0

Вы хотите флаг regex find:

find . \( ! -regex '.*/\..*' \) -exec grep -q [some_word] {} \; -print -o -name .svn -prune -o -name .ssh -prune -o -name .boneyard -o -name log -prune -prune -o -name tmp -prune

Также, пожалуйста, прочитайте инструкцию.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .