ack
ack ist ein spezielles Tool, das speziell für die Suche nach Quellcode entwickelt wurde, aber auch universell einsetzbar ist und es kombiniert auf eine für alle möglichen Situationen optimale Weise grep + find.
Wenn Sie beispielsweise in allen Ihren PHP-Dateien nach einem String "foo" suchen möchten, können Sie dies mit find und grep
find . -name '*.php' | xargs grep foo
das geht auch mit ack
ack --php foo
Was würden Sie lieber tippen
$ grep pattern $(find . -name '*.pl' -or -name '*.pm' -or -name '*.pod' | grep -v .git) $ ack --perl pattern
Außerdem führt ack eine Dateityperkennung aus, die find nicht finden kann. ack prüft die Shebang-Zeilen von Skripten ohne Erweiterungen.
Wenn Sie bestimmte Dateitypen aus der Suche ausschließen wollen, geht das mit
ack --nohtml --nosql foo /