Silver Searcher - Как игнорировать файл
Согласно документам, это должно быть
--ignore PATTERN
У меня есть файл, содержащий теги с названием "теги". Я пробовал следующее, каждый из них по-прежнему ищет файл тега.
ag -Qt --ignore ".*tags" "asdf"
ag -Qt --ignore .*tags "asdf"
ag -Qt --ignore "tags" "asdf"
ag -Qt --ignore tags "asdf"
ag -Qt --ignore *tags
и никто из них не работает.
Если я использую то, что предлагалось здесь, тогда ag вообще не принимает его
Я попытался обойти это, переименовав его в temp.tags и используя шаблон *.tags
, чтобы попытаться проигнорировать его, но он все равно не работает.
Любые идеи?
Ответы
Ответ 1
После некоторых исследований кажется, что это известная проблема, задокументированная здесь. Где, если вы выполните поиск --all -t ext (-t), он переопределит --ignore, так как он ищет все тексты. Эта проблема присутствует и для --unrestricted.
Ответ 2
Поместите список исключаемых файлов в .agignore
.
Примечание: как упоминалось в @DenilsonSáMaia, .agignore
будет устаревать в пользу .ignore
geoff.greer.fm/2016/09/26/ignore
Ответ 3
Добавьте только несколько --ignore, по крайней мере это работает для меня:
ag -Qt --ignore ".*tags" --ignore asdf
Если вы не ставите кавычки, они интерпретируются как каталог, если вы ставите кавычки как PATTERN
Ответ 4
Я обнаружил, что --ignore
не принимает регулярное выражение.
Это должно помочь:
ag --ignore="*_test.rb" "SomeAwesomeClass"
Ответ 5
Я пробовал ссылку, которую вы разместили (используя glob вместо regex), но удалил знак "=", и он сработал.
Ответ 6
Для меня следующие работы (в ag
версия 0.18.1):
ag --ignore TAGS;*.pdf;*.json "search_term"
Ответ 7
Начиная с v2.2.0 (скорее всего, и более ранние версии; я просто перехожу к той версии, которая у меня есть), все эти ответы, похоже, не работают. Что сработало для меня:
ag searchterm --ignore=*.log --ignore=*.txt
Обратите внимание на =
после опции ignore
.
Ответ 8
Вы также можете создавать файлы .ignore, чтобы игнорировать вещи, которые есть в вашем исходном хранилище..ignore использует те же шаблоны, что и .gitignore и .hgignore. Использование .ignore может значительно улучшить скорость поиска.,
Если вам нужен глобальный файл .ignore, попробуйте добавить этот псевдоним:
alias ag='ag --path-to-ignore ~/.ignore'
в ваш файл ~/.bash_profile
(или аналогичный)
Ответ 9
Вы пробовали использовать одинарные кавычки? Я знаю, что определенно был в тупике, используя двойные кавычки и никаких кавычек, чтобы найти только одинарные кавычки.
ag -Qt --ignore '*tags'