Newsgroup: it.comp.os.linux.sys
Titolo: find che non trova tutto

Ciao a tutti,
eseguendo questo comando:
find / -type f -exec grep pippo {} /dev/null \; > file.txt
per trovare tutti i file che contengono la scritta pippo, e loggarli
nel file file.txt, ho notato che mi ha saltato alcune directory! Se
non mi posso più fidare di find e grep di chi posso farlo, allora?
Grazie,
g4b0

 Quali e come hai fatto a notarlo?
le directory sotto /ispman non me le ha considerate, me ne sono
accorto perchè sapevo che la stringa in oggetto si trovava
principalmente li, e nel file di output non ce n'è traccia.
g4b0

 che non va?
Che stalla quando trova una pipe?
Fabio

 non mi posso più fidare di find e grep di chi posso farlo, allora?
Non e' che ti ha saltato dei symlink? E' un'altra differenza rispetto
all'uso di grep "nudo".
Fabio 

 all'uso di grep "nudo".
No, ha saltato directory intere!
g4b0

 Vero anche quello, non ci avevo pensato.
Quindi che comando consigliate per trovare _tutti_ i file che
contengono una determinata stringa?
g4b0

 No, ha saltato directory intere!
Permessi?
A me find non ha mai (almeno credo ;-) ) saltato directory, se eseguito
da utente con diritti di attraversamento sulle stesse.
-- 
           |Save our planet!
    Ciao   |Save wildlife!
   roberto |For your E-MAIL use ONLY recycled Bytes  !!
           |roberto poggi   
rpo...@softhome.net

 da utente con diritti di attraversamento sulle stesse.
L'ho eseguito da root...
g4b0


Quello che hai proposto tu e` IMO il piu` consigliato..
Sei sicuro di avere i permessi giusti per leggere i files che non 
vengono riportati?
Eventualmente aggiungi l'opzione -sq a grep (per eliminare la 
redirezione a dev/null) anche se sono opzioni solo per la versione GNU 
di grep.
find / -type f -exec grep -sa pippo {} \; > file.txt
Ciao
Giovanni
-- 
   A computer is like an air conditioner,
   it stops working when you open Windows.
   Registered Linux user #337974  < 
http://giovanni.homelinux.net/
 >

 No, ha saltato directory intere!
Non so che dirti, se non d'andare nella directory padre d'una di quelle
che ti ha saltato e provare un find -type f senza grep per vedere se ti
scende correttamente dentro tutte le directory o ne salta qualcuna, per
capire se e' un comportamento sistematico o casuale.
Fabio

 g4b0
Ciao
	Mavimo
PS: buona pasqua/pasquetta a tutti!
-- 
http://mavimo.netsons.org

 per trovare i file, poi al max redirigi dove ti serve.
Si, ma io la stringa la cerco all'interno del file, non nel nome!
g4b0

 g4b0
Opppss :P
Ciao e scusa per la risposta fuoriluogo.
	Mavimo
-- 
http://mavimo.netsons.org

 contengono una determinata stringa?
io di solito uso:
find . | xargs grep -i <stringa>
my 2 cents
Matteo


Non c'è problema, grazie per l'interessamento :)
g4b0


 Ora lo provo subito! grazie
g4b0

  Ora lo provo subito! grazie
Quel comando usa comunque find, non dovrebbe cambiare nulla: se 
prima saltava delle directory lo fara' anche adesso. Quello che 
cambia e' che dara' errori per tutti i nomi di file e directory
che contengono spazi, se non passi -0 come argomento di xargs.
Fabio

 che contengono spazi, se non passi -0 come argomento di xargs.
Ho imparato qualcosa di nuovo.
Grazie
Matteo

 principalmente li, e nel file di output non ce n'è traccia.
Quella directory corrisponde per caso ad un filesystem a sè stante?
bye!


Nono, fa parte del filesystem di / ... proprio non capisco
g4b0


Questa non la sapevo.. comunque mi si è schiantato da qualche parte
all'interno di /dev..
Ma possibile che sulla slackware non ci sia il cagnolino che mi cerca
tutto come su winz? =P
g4b0


se lanci il find direttamente da dentro la dir incriminata funziona?


sisi.
stranissimo, vero? mi viene da pensare che find si sia schiantato
prima di entrare in tale dir, e quindi non ha trovato nulla... forse
dovrei almeno escludere dalla ricerca /dev /proc e compagnia bella...
che dite? oppure find a voi trita tutto senza problemi??
g4b0

 che dite? oppure find a voi trita tutto senza problemi??
No, quando faccio un find "a tutto campo" anch'io sono abituato a
vederlo tossire un po' quando arriva a passare dalla /proc, ma
comunque alla fine ci arriva.
Cio' non toglie che nel tuo caso particolare non possa andare ad
incocciare qualcosa che lo manda a donnine allegre...
Tutto quello che ti posso suggerire è effettuare il find che ti serve
un po' per volta dividendo in qualche modo il filesystem in più
passate. Divide et impera, insomma.
bye


si, è quello che ho iniziato a fare, vado giù di exclude.. però così
find mi delude un po'...
g4b0

 find mi delude un po'...
Sockets e pipes bloccano il grep.  Altro file che a volte blocca tutto 
puo` essere /proc/kmsg.
