Sto cercando la stringa foo=
nei file di testo in un albero di directory. È su una macchina Linux comune, ho bash shell:
grep -ircl "foo=" *
Nelle directory ci sono anche molti file binari che corrispondono a "foo =". Poiché questi risultati non sono pertinenti e rallentano la ricerca, voglio che grep salti la ricerca di questi file (principalmente immagini JPEG e PNG). Come potrei farlo?
So che ci sono le opzioni --exclude=PATTERN
e --include=PATTERN
, ma qual è il formato del modello? La pagina man di grep dice:
--include=PATTERN Recurse in directories only searching file matching PATTERN.
--exclude=PATTERN Recurse in directories skip file matching PATTERN.
La ricerca su grep include , grep include exclude , grep exclude e le varianti non hanno trovato nulla di rilevante
Se esiste un modo migliore di eseguire il grepping solo in determinati file, sono pronto per questo; spostare i file offensivi non è un'opzione. Non riesco a cercare solo determinate directory (la struttura delle directory è un gran casino, con tutto ovunque). Inoltre, non riesco a installare nulla, quindi ho a che fare con strumenti comuni (come grep o la ricerca suggerita ).
--exclude-dir=.svn
, quindi grep non le affronta affatto
grep -r --exclude-dir=var "pattern" .