grep - ricerca nell'intero albero

Postate qui per tutte le discussioni legate a Linux in generale.

Moderatore: Staff

Regole del forum
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Gnu/Linux in genere, se l'argomento è specifico alla Slackware usate uno dei forum Slackware o Slackware64.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Rispondi
Avatar utente
elettronicha
Master
Master
Messaggi: 1712
Iscritto il: mer 13 apr 2005, 0:00
Località: Torino
Contatta:

grep - ricerca nell'intero albero

Messaggio da elettronicha »

Vorrei cercare una stringa all'interno di tutti i file dell'intero albero / . Ho letto il man e un po' in giro e, se non ho capito male, dovrebbe essere così:

Codice: Seleziona tutto

cd /
grep -r Option *
Il primo comando ce l'ho messo perché non ho capito come cercare recursivamente in tutto l'albero e non solo a partire dalla directory corrente (?), rileggerò il manuale.
Il problema è che

Codice: Seleziona tutto

$ grep -r Option *
Binary file bin/cpio matches
Binary file bin/dd matches
Binary file bin/ip matches
Binary file bin/ld_static matches
bin/lsb_release:from optparse import OptionParser
bin/lsb_release:    parser = OptionParser()
grep: bin/lsmod.modutils: No such file or directory
bin/mkbimage:Options:
Binary file bin/nano matches
Binary file bin/ps matches
Binary file bin/rnano matches
Binary file bin/stty matches
Binary file bin/su matches
Binary file bin/tar matches
boot/config-2.6.17-10-generic:# Generic Driver Options
boot/config-2.6.17-10-generic:# Subsystem Options
Binary file boot/memtest86+.bin matches
boot/grub/menu.lst:## ## Start Default Options ##
boot/grub/menu.lst:## ## End Default Options ##
boot/grub/menu.lst~:## ## Start Default Options ##
boot/grub/menu.lst~:## ## End Default Options ##
grep: dev/nvidia0: No such device or address
grep: dev/nvidiactl: No such device or address
grep: dev/acpi: Permission denied
grep: dev/dri/card0: Invalid argument
grep: dev/vcsa7: Permission denied
grep: dev/vcs7: Permission denied
grep: dev/log: No such device or address
E si pianta là finché non gli do un control+c. E' normale?

Avatar utente
whites11
Linux 4.x
Linux 4.x
Messaggi: 1147
Iscritto il: ven 30 set 2005, 13:54
Località: Udine

Messaggio da whites11 »

una cosa tipo:

Codice: Seleziona tutto

grep "frase" /* -Rl
"frase" è la frase da cercare, /* indica la root e -R indica di procedere ricorsivamente.
-l indica invece di tornare il nome del file e non la frase che contiene la stringa (può non essere il tuo caso).
l'errore te lo da perchè cerca di tornare il contenuto di un file binario, che non ha molto senso stampare...

Avatar utente
targzeta
Iper Master
Iper Master
Messaggi: 6643
Iscritto il: gio 3 nov 2005, 14:05
Nome Cognome: Emanuele Tomasi
Slackware: 64-current
Kernel: latest stable
Desktop: IceWM
Località: Carpignano Sal. (LE) <-> Pisa

Messaggio da targzeta »

Non è che si blocca su qualche device che funge da pipe? Prova a non cercare in /dev.
Certo che devi essere proprio disperato se esegui una ricerca in tutti i file di tutti i filesystem montati.

Spina

bloodlust
Linux 3.x
Linux 3.x
Messaggi: 523
Iscritto il: mar 14 feb 2006, 12:02
Slackware: -1
Località: it_IT

Messaggio da bloodlust »

così? (da root obv)

Codice: Seleziona tutto

find / -type f -exec grep "frase_da_cercare" '{}' \;
e se vuoi fare lo schizzinoso usa -fstype per evitare pseudo fs

ciao

Rispondi