GNU/Linux >> Linux Esercitazione >  >> Linux

Cercare file i cui percorsi contengono più parole senza un ordine specifico tra di loro?

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.


Linux
  1. Cercare file di testo in cui esistono due parole diverse (qualsiasi ordine, qualsiasi riga)?

  2. Grep per più stringhe nei file e quindi elencare i file nell'ordine delle dimensioni?

  3. Come utilizzare la GUI per cercare file in Gnome?

  4. Come cercare i file usando regex nello script della shell linux

  5. Trova i file e tarali (con spazi)

Come trovare file in Linux con il comando Trova

Come cercare file dalla riga di comando di Linux

Come trovare file contenenti una stringa di testo specifica in Linux

Trova in modo ricorsivo i file con un'estensione specifica

gzip tutti i file senza eliminarli

Come trovare i file che non contengono una determinata stringa di ricerca