Настроить ack для каждого каталога

293
Erik Allik

Моя цель состоит в том, чтобы не всегда указывать, ackкакие каталоги grep в данном проекте (если я не делаю, это медленно, потому что он также сканирует папки не из исходников). До сих пор я придумал поместить исполняемый ./ackскрипт в папку проекта, который делегирует глобальной команде ack с некоторыми дополнительными параметрами, но в идеале я хотел бы иметь что-то похожее .ackrcв этом каталоге проекта и ackпросто поднять его автоматически.

Вот что у меня сейчас есть:

#!/usr/bin/env sh  ack $@ src subproj1/src subproj2/src subproj3/src 
2

1 ответ на вопрос

3
Andy Lester

Ack 2.0 поддерживает файлы .ackrc для каждого проекта.

Убедитесь, что вы используете ack 2.12 или выше, потому что предыдущие версии 2.x имеют дыру в безопасности с этими файлами .ackrc.

Странная вещь: явно передавая только каталоги, в которые я хочу войти, ack, заставляет ack работать намного быстрее, чем использование набора `--ignore-dir = is:`в` .ackrc` ... Erik Allik 10 лет назад 0
В этом есть смысл. Для --ignore-dir все еще требуется время, чтобы ack прошел через файловую систему и проверил каждый каталог, чтобы определить, следует ли его исключить. Передача только тех каталогов, которые вы хотите найти, исключает это сканирование. Andy Lester 10 лет назад 0