Для вывода только имен файлов, соответствующих поиску, есть: ag -l
Что мне использовать, если я хочу выполнить поиск только по файлам из списка? Или, может быть, можно таким образом связать поиски?
Для вывода только имен файлов, соответствующих поиску, есть: ag -l
Что мне использовать, если я хочу выполнить поиск только по файлам из списка? Или, может быть, можно таким образом связать поиски?
Используйте стандартное перенаправление ввода:
ag "SEARCH_PATTERN" < file1, file,2, file3...
Или используйте подстановочный знак для поиска целевых файлов с параметром -g. Шаблон будет выглядеть так:
ag -g "FILE_PATTERN" "SEARCH_PATTERN"
Таким образом, пример будет следующим:
ag -G '.*.txt' "pattern"
Или загружать файлы или шаблоны поиска в ag из файла .txt, содержащего список записей, используя цикл for оболочки; Например:
while IFS= read -r patterns; do ag -o "$patterns" ~/somewhere ; done < names.txt
На этой странице я увидел как тот факт, что ag -l
возвращает список имен файлов, так и то, что ag
принимает стандартный ввод файлов. Это заставило меня задуматься о другом способе, который отлично сработал для меня. Хотел поделиться
ag -l <first_search> | xargs ag -l <second_search> | xargs ag -l ...