В Bash я пытаюсь найти строку в нескольких разбросанных файлах.Как исключить каталог с помощью find + grep?
Я получаю тысячи ошибок из Grep за доступом/SYS, который я пытаюсь исключить:
find/-type f ! -path "/sys" -exec grep -l StringToFind {} \;
find/-type f -exec grep -l --exclude-dir="/sys" StringToFind {} \;
Может кто-нибудь объяснить, почему ни один из вышеупомянутых работ? Я пробовал пару других вариантов с grep -v и egrep без успеха.
Как насчет исключения нескольких каталогов и шаблонов?
Возможно ли, что вам нужно втянуть в grep? то есть 'find/-type f! -path "/ sys" -exec | grep -l StringToFind {} \; ' –
Нет, Майкл как exec нуждается в аргументе. –
Попробуйте эту 'find/-type f -exec grep string {{}" \; -o -name "/ sys" -prune' –