Konfigurieren Sie ack pro Verzeichnis

375
Erik Allik

Mein Ziel ist es, nicht immer sagen zu müssen, ackwelche Verzeichnisse in einem bestimmten Projekt grep sind (andernfalls ist es langsam, da es auch nicht-Quellordner durchsucht). Ich habe bisher ein ausführbares ./ackSkript in den Projektordner geschrieben, das mit einigen zusätzlichen Optionen an den globalen Befehl ack delegiert, aber im Idealfall hätte ich etwas .ackrcin diesem Projektverzeichnis und ackwürde das automatisch abholen.

Das ist was ich momentan habe:

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

1 Antwort auf die Frage

3
Andy Lester

ack 2.0 unterstützt die .ackrc-Dateien pro Projekt.

Stellen Sie sicher, dass Sie ack 2.12 oder höher verwenden, da frühere Versionen von 2.x eine Sicherheitslücke mit diesen .ackrc-Dateien haben.

Komisch ist nur: das explizite Übergeben nur der Verzeichnisse, in denen ich grep, ack, bewirkt, dass ack viel schneller ausgeführt wird, als wenn ein Satz von `--ignore-dir = verwendet wird:`in` .ackrc` ... Erik Allik vor 10 Jahren 0
Das macht Sinn. Es dauert noch immer einige Zeit, bis ack durch das Dateisystem geht und jedes Verzeichnis überprüft, um zu sehen, ob es ausgeschlossen werden soll. Wenn Sie nur die Verzeichnisse übergeben, die Sie durchsuchen möchten, ist das Scannen nicht mehr erforderlich. Andy Lester vor 10 Jahren 0