Når man arbejder med store kodebaser, kan det være nødvendigt at ekskludere hele underkataloger fra søgninger med grep
. Da --exclude
kun understøtter filmønstre, kan man benytte andre metoder for at opnå dette. Her er nogle effektive måder at gøre det på:
--exclude-dir
grep
har en indbygget mulighed for at ekskludere hele kataloger ved hjælp af --exclude-dir
flaget. Dette flag kan bruges til at specificere de kataloger, der skal udelukkes fra søgningen.
grep -r --exclude-dir=dir_to_exclude "search_pattern" /path/to/search
find
og xargs
En anden metode er at kombinere find
og xargs
for at ekskludere bestemte kataloger og derefter bruge grep
til at søge i de resterende filer.
find /path/to/search -type d \( -name dir_to_exclude -prune \) -o -type f -print | xargs grep "search_pattern"
rsync
til at kopiere uden ekskluderede katalogerMan kan også bruge rsync
til at kopiere filstrukturen uden de ekskluderede kataloger til en midlertidig placering og derefter bruge grep
på den midlertidige kopi.
rsync -av --exclude='dir_to_exclude' /path/to/search /path/to/temp && grep -r "search_pattern" /path/to/temp
ack
eller ag
som alternativerVærktøjer som ack
og ag
(The Silver Searcher) er designet til at være mere fleksible og brugervenlige end grep
og har indbyggede muligheder for at ekskludere kataloger.
ack --ignore-dir=dir_to_exclude "search_pattern" /path/to/search
ag --ignore-dir dir_to_exclude "search_pattern" /path/to/search
Ved at bruge en af disse metoder kan man effektivt ekskludere hele underkataloger fra søgninger med grep
og dermed gøre søgningen mere målrettet og effektiv.
Spar dig selv for besvær og kom igennem din to-do liste i dag
1
Beskriv din opgave
2
Modtag bud
3
Få løst din opgave
Møbelsamling
Hjælp med at samle Ikea klædeskab
Maler
Klargøring af lejlighed til flyttesyn
Flyttehjælp
Flytning af 150 kvm hus til Roskilde fra København
Havearbejde
Beskæring af 4 større træer
IT support
Geninstallering af windows + programmer
Elektriker
Installation af Sonos musikanlæg i hus
Rengøring
Ugentlig rengøring af lejlighed (114kvm)
Flyttehjælp
Flytning af 150 kvm hus til Roskilde fra København
Elektriker
Opsætning af lamper i stue og soveværelse
Catering
3-retters menu til 14 mennesker