Я ищу каталог для конкретной строки (чтобы увидеть все случаи, где строка присутствует и в каких файлах). Однако я хочу исключить один конкретный файл из поиска.
Вот что происходит
$echo "searchstring" > ./old_folder/useless_file
$echo "searchstring" > ./new_folder/good_file
$grep -r --exclude="old_folder/useless_file" searchstring *
./old_folder/useless_file:searchstring
./new_folder/good_file:searchstring
Вот вывод, который я хочу-
./new_folder/good_file:searchstring
--exclude="old_folder/useless_file"
просто,--exclude=useless_file
у вас возникла та же проблема? (Мое чтение справочной страницы предполагает, что шаблон--exclude
должен быть только базовым именем, не включая путь.)Ответы:
--exclude
Опция принимает шарики, которые подбираются с именами файлов, а не каталоги или полные пути:Итак, вы можете сделать:
Или, чтобы исключить все файлы в этом каталоге:
источник