Régebben amikor egy adott stringre akartam keresni több file-ban, akkor a grep-et használtam. Így:
grep -sir 'amit keresek' *
A grep-et már 1973 óta lehet használni, annak, akinek Unix-a, Linux-a, vagy valami BSD alapú rendszere van, mint amilyen az OSX is. Viszont a file-okban keresés egy olyan gyakran használt dolog manapság, hogy páran úgy döntöttek, hogy egy kicsit megújítják a dolgot, így született az ack. Miért jobb ez mint a gerp?
- Gyorsabb
- Az ack Perl-ben íródott, így fut mindenütt, ahol a Perl. (A grep ugye C-ben)
- Alapból nem foglalkozik a VCS (berziókezelő) könyvtárakkal, mint pld. .git, .cvs stb
- Nem foglalkozik a backup file-okkal és a bináris file-okkal
- Egyszerűen lehet szűkíteni a keresés körét file-típusokra. (ack --perl pattern csak a Perl fileokra fog keresni.) Az
ack --help-types
kiírja az összes lehetőséget, illetve ha kell, mi is tudunk létrehozni ilyeneket. - Tud csinálni egy file-listát adott típusú file-okból
ack -f --ruby > all-ruby-files>
- A találatokat kiszínezi.
- Lehet használni Perl reguláris kifejezéseket --cc után.
ack --cc '#include\s+<(.*)>' --output '$1' -h
- Nagy előnye, hogy kevesebbet kell gépelni hozzá.
Szóval jó kis cucc, érdemes telepíteni és használni!