... auf die Shell zu ziehen und ins Highlighting zu ziehen. :) (Sorry, ich muss dringend mal wieder Herr der Ringe anschauen)
Mir geht es um grep
, der Urgroßvater aller Projektweiten Suchmöglichkeiten. Das kann viel - aber nicht alles.
Zum Beispiel ist es nicht besonders einfach in einem Projekt zu suchen dass SVN für die Versionskontrolle einsetzt. Grep besteht nämlich darauf dass es unbedingt bei -r auch in .svn
Verzeichnissen suchen will. Und das beste: es gibt zwar eine Option --exclude
- die funktioniert aber nur auf File-Basis. Das heißt man kann damit keine Verzeichnisse (wie z.B. .svn
) ausschließen.
Doh.
Die Entwickler sagen dazu dass man doch lieber find . mumbojumbomagic | grep muster
benutzen soll. Tja.
Enter Ack. Die Lösung aller Probleme. :)
- Das Tool sucht standardmäßig rekursiv - d.h. man muss nicht ständig
-r
angeben. - Es ignoriert standardmäßig .svn .hg .git etc. Verzeichnisse - daher muss man nicht ständig irrelevante Resultate ignorieren.
- Man kann mit switches wie
--python
oder--objc
nur in Dateien dieses Typs suchen. - Man hat vollständige Unterstützung für Perls Regular Expressions auf der Kommandozeile (das Tool ist in Perl geschrieben)
- Man kann das Tool supereinfach in
~/.ackrc
konfigurieren.
Hier meine .ackrc:
$ cat ~./ackrc
--type-set=nib=.nib
--type-add=objc=.mm
--ignore-dir=build
Schick ne?