View Full Version : escludere path da una ricerca
Ciao ogni volta che devo lanciare una ricerca da linux devo prima smontare il dev della partizione ntfs perchè essendo molto grande e satura mi rallenta di molto la ricerca sul pinguino. Volevo chiedere se qualcuno usa già abitualmente un parametro del comado 'find' che permetta di escludere un determinato path dalla ricerca. Ho anche dato un'occhiata al man ma sinceramente mi sono spaventato :D
Ciao
ilsensine
30-01-2007, 14:44
La cosa più rapida è forse eseguirlo con -mount in modo da non entrare nelle directory dove sono montati altri file system. Così però devi lanciare find più volte se il tuo albero contiene più mountpoint nei quali vuoi cercare.
Quindi mi confermi che non esiste un parametro dedicato?
Psycotic
30-01-2007, 17:05
no almeno che nn usi qualche workaround :F
find `ls |grep -v home`
no almeno che nn usi qualche workaround :F
find `ls |grep -v home`
No l'ho capito sto comando... è troppo evoluto per me :fagiano: :p
Come verrebbe interpretato, in questo caso, il virgolettato dal find?
vampirodolce1
31-01-2007, 07:30
Trova tutto quello che non contiene la parola home, partendo dall'output di ls.
:eek: figo :cool:
ma non dovrebbe bastare find 'grep -v home' ?
Oppure al posto di find puoi usare locate:
Il comado locate ricerca su tutto il filesystem proprio come il comando find, ma la ricerca viene fatta su un database piuttosto che sul filesystem vero e proprio. E' possibile lanciare manualmente updatedb per aggiornare il database. Di seguito un esempio di locate in azione:
$ locate xinitrc #non e' necessario partire dalla directory root(/)
/var/X11R6/lib/xinit/xinitrc /var/X11R6/lib/xinit/xinitrc.fvwm2 /var/X11R6/lib/xinit/xinitrc.openwin /var/X11R6/lib/xinit/xinitrc.twm
Si ottiene di piu' di quello che si stava cercando e anche piu' velocemente.
Psycotic
31-01-2007, 14:01
Il comando semplicemente fa questo:
prima esegue quello che ci sta tra le virgolette ( nota che le virgolette ` ` sono all'incontrario nn quelle classiche ' ' )
Quindi prima esegue il contenuto tra virgolette :
ls | grep -v home che ti fa un semplice ls togliendo in questo caso home da suo output
e dopo su quest'output esegue il find
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.