ACK exclusion
ACK - better than grep, a power search tool for programmer. Azaz jobb, mint a grep, nagyon jó eszköz kereséshez.
Ugye rendes ember gyakran keres a file-jai között, azok tartalmában. Egy , az átlagosnál rendesebb ember ezt reguláris kifejezésekkel is teszi, nagyon rendes ember pedig erre grepet használja. A lusta ember viszont az ack-ot azért, mert majdnem olyan, mint a grep, csak fele annyit sem kell gépelni hozzá. Alapból rekurzív, alapból nem keres verzió kezelők könyvtárában, alapból regexpekkel dolgozik, meg még rengeteg más is lehet, de én még annyira nem ismerem.
Viszont egyetlen óriási problémám volt, hogy nem tudtam hogyan kell file-okat kihagyni a keresésből. Teszem azt van sok fileban forráskódom, meg ugyanezek a file-ok egy nagyon fájlban összehányva (a gyorsabb kiszolgálás miatt ugyebár). Én ebben a nagy file-ban nem akarok sosem keresni, de mégis hogyan lehet ezt? ack ize | grep -v nagyfile
? Nem így, hanem lookbehinddal:
ack ize -G (?<!nagyfile$)
Persze ez is hosszúnak tűnhet, de van olyan, hogy .ackrc file, es akkor abba is szépen bele lehet tenni a fenti kifejezést így:
-G (?<!nagyfile$)
... és akkor nem kell majd folyton beírni.
Ha több féle file-t szeretnénk kihagyni a keresésből, akkor fel kell őket sorolni:
-G (?<!nagyfile$)(?<!nagyfile2$)(?<!nagyfile3$)
Na így már lehet hatékonyan keresni!
A fentieket nem magamtól találtam, ki, hanem blogban olvastam.
Hozzászóláshoz a Disqus szolgáltatását használom, korábbi vélemények elovlasásához és új hozzászólás írásához engedélyezd a Disqus-tól származó JavaScripteteket.