Linux trova la cartella all'interno delle sottocartelle


19

Sto cercando di trovare una directory denominata 480debugerrornidificata nelle directory secondarie. Non conosco il percorso esatto, o anche se ho l'ortografia esatta della directory che voglio trovare.

Esiste un comando Linux per trovare directory con un determinato prefisso o suffisso, ad esempio directory con un nome di "debug" o "errore di debug", con alcuni prefissi o suffissi sconosciuti?


2
Puoi provare locate(trova i file) o find(trova i file).
Miku,

find -type f -name * ummy ... ma non get

3
È necessario il tipo d . fcerca file
thkala

Risposte:


16

find è quello che ti serve:

$ find -type d -name '*debugerror*'

o

$ find -type d -name '480debugerror'

se sei sicuro del nome della cartella.



1
locate -i "480debugerror"

controllerà un database che elenca tutti i file indicizzati sul tuo PC. Ho spesso scenari come questo e quindi faccio ricerche come:

locate -i "debug" | grep -i "log"

che trova tutti i file che hanno nel loro percorso (indipendentemente dal caso [ecco cosa significa -i]] "debug" e "log" (Nel caso non lo sapessi, la | grepricerca dei mezzi nei risultati che individua produce)

Il vantaggio dell'utilizzo di Locate over find è che Locate produrrà un output molto più veloce (poiché sta solo controllando un database) ma se il file / la cartella non è indicizzato, non troverà nulla. (per aggiornare il database è possibile utilizzare sudo updatedb)


Solo se hai slocateinstallato. Alcuni ambienti di produzione non :-(
Zsolt Botykai,

Vero, ma se un'opzione direi che è superiore trovare ...

1

In bash,

shopt -s nullglob globstar
echo **/*480*/
echo **/*debug*/
echo **/*error*/

cerca ricorsivamente directory con nomi contenenti 480, debug o errori.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.