GNU/Linux >> Linux Esercitazione >  >> Linux

Come posso cercare un file per nome e percorso parziale?

Passa uno * carattere jolly per indicare una corrispondenza per qualsiasi cosa . Devi anche eseguire l'escape di * s, ad esempio:

find . -path \*content/docs/file.xml

o racchiudere il modello tra virgolette, ad esempio:

find . -path "*content/docs/file.xml"

Come la pagina man lo descrive:

$ trova . -nome *.c -print

find:i percorsi devono precedere l'espressione

Questo accade perché *.c è stato espanso dalla shell risultando infind che riceve effettivamente una riga di comando come questa:

trova . -name bigram.c code.c frcode.c locate.c -print

Quel comando ovviamente non funzionerà. Invece di fare le cose in questo modo, dovresti racchiudere lo schema tra virgolette o evitare il carattere jolly:

$ trova . -name \*.c -print


find ha un -path (o l'equivalente ma meno portabile -wholename ) anche l'opzione find $top_dir -wholename *string*

find /usr -path *in/abiw*

>/usr/bin/abiword

find . -type f | grep "content/docs/file.xml"

o semplicemente

locate content/docs/file.xml

Linux
  1. Come trovare un file in Linux

  2. Come trovare il tipo di un file Img e montarlo?

  3. come trovare il proprietario di un file o di una directory in python

  4. Come posso creare un file in ogni cartella?

  5. Come combinare find e grep per una ricerca complessa? ( GNU/linux, trova, grep )

Comprendere i percorsi dei file e come usarli in Linux

Come trovare il nome e la versione della versione della distribuzione Linux

Come trovare e sostituire testo, parola o stringa in un file

Come cercare i file per dimensione ed estensione?

Come trovare il nome del processo dal suo PID

Come utilizzare Sed per trovare e sostituire una stringa in un file