Vorrei cercare tutti i file i cui percorsi contengono più parole (word1 , word2 ), senza alcun ordine particolare tra di loro.
Esempi di file corrispondenti sono:
word1bar/fooword2/myfile
fooword2/word1bar/myfile
fooword2/bar/word1myfile
Quale comando può risolvere il compito?
Immagino che un comando come questo funzionerà:
find . -regex regexpattern
Grazie.
La mia soluzione con locate is Migliora la ricerca dei file in base ai percorsi con la pipeline locate e grep
Risposta accettata:
È difficile da fare con un singolo pattern (regex o shell), ma poiché find può prendere più condizioni, possiamo usare
find . -type f -path "*word1*" -path "*word2*" ...
In regex dovresti specificare tutte le diverse permutazioni delle parole, come .*word1.*word2.*|.*word2.*word1.* (solo ERE o Perl RE), e questo esplode rapidamente se hai più di due parole che vuoi trovare.