2011-08-26 8 views
31

Come trovo i file non contenenti del testo su Linux? Fondamentalmente sto cercando l'inverso dei seguentiCome trovare file di testo che non contengono testo su Linux?

find . -print | xargs grep -iL "somestring" 
+1

pone sul SuperUser o unix.stackexchange.com –

+0

Questo non funziona correttamente se uno dei nomi di file o directory contiene uno spazio bianco. Usa 'trova. -tipo f -exec grep -iL "somestring" + '(o' grep -r'). – hagello

+0

Possibile duplicato di [Uso di grep per trovare i file che non contengono un determinato modello di stringa] (https://stackoverflow.com/questions/1748129/using-grep-to-find-files-that-dont-contain-a -given-string-pattern) –

risposta

50

Il comando che citi, ironicamente, fa esattamente quello che descrivi. Provalo!

echo "hello" > a 
echo "bye" > b 
grep -iL BYE a b 

Dice un solo.


penso che potrebbe essere fonte di confusione e -L -l

find . -print | xargs grep -iL "somestring" 

è l'inverso della

find . -print | xargs grep -il "somestring" 

Tra l'altro, si consideri

find . -print0 | xargs -0 grep -iL "somestring" 

O Eva n

grep -IRiL "somestring" . 
+2

accettando la tua risposta, è ricorsiva e inversa di find che volevo: grep -IRiL "somestring". – eon

Problemi correlati