Cercare su più file
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.
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.
- napoleone1981
- Linux 2.x

- Messaggi: 380
- Iscritto il: gio 26 ago 2004, 0:00
- Località: Sant'Elena
Cercare su più file
Ciao,
dovrei cercare una stringa su un certo numero di file (tutti all'interno di una directory). Come si fa??? Ho pensato a qualcosa tipo
cat * | grep stringa o qualcosa con find è meglio??
dovrei cercare una stringa su un certo numero di file (tutti all'interno di una directory). Come si fa??? Ho pensato a qualcosa tipo
cat * | grep stringa o qualcosa con find è meglio??
- MAT
- Linux 4.x

- Messaggi: 1242
- Iscritto il: mer 9 mar 2005, 0:00
- Nome Cognome: Matteo Magni
- Kernel: 2.6.20
- Desktop: Fluxbox
- Distribuzione: Gentoo
- Località: Vignola, Modena
Codice: Seleziona tutto
grep stringa /percorso/di/ricerca/*- napoleone1981
- Linux 2.x

- Messaggi: 380
- Iscritto il: gio 26 ago 2004, 0:00
- Località: Sant'Elena
Ok, ma così, se non sbaglio, mi cerca solo all'interno dei file presenti in quella directory, ed io vorrei cercare anche nei file presenti all'interno di tutte le sottodirectory e cos' via...
In altre parole vorrei trovare dove è presente la stringa WX_2.6 all'interno dei sorgenti di aMule, che sono divisi in tante directory....
In altre parole vorrei trovare dove è presente la stringa WX_2.6 all'interno dei sorgenti di aMule, che sono divisi in tante directory....
- absinthe
- Iper Master

- Messaggi: 2354
- Iscritto il: dom 15 mag 2005, 0:00
- Nome Cognome: Matteo Nunziati
- Slackware: 12.1 - defunct
- Kernel: 2.6.32-5-amd64
- Desktop: gnome
- Distribuzione: debian squeeze
- Località: Prato
- Contatta:
prova :napoleone1981 ha scritto:Ok, ma così, se non sbaglio, mi cerca solo all'interno dei file presenti in quella directory, ed io vorrei cercare anche nei file presenti all'interno di tutte le sottodirectory e cos' via...
In altre parole vorrei trovare dove è presente la stringa WX_2.6 all'interno dei sorgenti di aMule, che sono divisi in tante directory....
#> find . | xargs grep "stringa_da_cercare" 2> /dev/null
forse va bene...
M.
PS: " . " deve essere la root directory della ricerca....
- napoleone1981
- Linux 2.x

- Messaggi: 380
- Iscritto il: gio 26 ago 2004, 0:00
- Località: Sant'Elena
sembra non andare all'interno delle sottodirectory...
o forse questo errore non lo scrive il codice di aMule ma qualcos'altro...
amule: /usr/lib/libwx_gtk2_adv-2.6.so.0: version `WX_2.6' not found (required by amule)
amule: /usr/lib/libwx_gtk2_core-2.6.so.0: version `WX_2.6' not found (required by amule)
Io ho fatto:
oppure
ma niente...
o forse questo errore non lo scrive il codice di aMule ma qualcos'altro...
amule: /usr/lib/libwx_gtk2_adv-2.6.so.0: version `WX_2.6' not found (required by amule)
amule: /usr/lib/libwx_gtk2_core-2.6.so.0: version `WX_2.6' not found (required by amule)
Io ho fatto:
Codice: Seleziona tutto
find . | xargs grep -i *WX_2.6* 2> /dev/nullCodice: Seleziona tutto
find . | xargs grep -i "WX_2.6" 2> /dev/null- Paoletta
- Staff

- Messaggi: 3975
- Iscritto il: lun 25 apr 2005, 0:00
- Slackware: 14.2 - 64 bit
- Desktop: fluxbox
- Località: Varese
per fare quel che vuoi fare tu io faccio così:
P.S. ovviamente devi essere nella dir giusta; altrimenti la puoi passare come parametro a find
ciao!
Codice: Seleziona tutto
find -true | xargs grep "stringa_da_cercare" ciao!
- useless
- Staff

- Messaggi: 3896
- Iscritto il: dom 12 ott 2003, 0:00
- Località: A place where the streets have no name
- Contatta:
Codice: Seleziona tutto
find tuadir -exec grep -l {} \;- masalapianta
- Iper Master

- Messaggi: 2775
- Iscritto il: lun 25 lug 2005, 0:00
- Nome Cognome: famoso porco
- Kernel: uname -r
- Desktop: awesome
- Distribuzione: Debian
- Località: Roma
- Contatta:
- MAT
- Linux 4.x

- Messaggi: 1242
- Iscritto il: mer 9 mar 2005, 0:00
- Nome Cognome: Matteo Magni
- Kernel: 2.6.20
- Desktop: Fluxbox
- Distribuzione: Gentoo
- Località: Vignola, Modena
Bè, se tu scrivi
Allora basta usare l'opzione -R o -r o --recursive, che, come detto, una consultazione a man grep ti avrebbe rivelato senza troppi sforzi.
la gente non se lo immagina che vuoi guardare anche nelle sotto-directory.dovrei cercare una stringa su un certo numero di file (tutti all'interno di una directory)
Allora basta usare l'opzione -R o -r o --recursive, che, come detto, una consultazione a man grep ti avrebbe rivelato senza troppi sforzi.
- absinthe
- Iper Master

- Messaggi: 2354
- Iscritto il: dom 15 mag 2005, 0:00
- Nome Cognome: Matteo Nunziati
- Slackware: 12.1 - defunct
- Kernel: 2.6.32-5-amd64
- Desktop: gnome
- Distribuzione: debian squeeze
- Località: Prato
- Contatta:
azz... il bello è che sono anche andato a vedere se esisteva una cosa del genere prima di rispondegli!!! quando si dice che uno c'ha lo sguardo da lince... eccolo quà:masalapianta ha scritto:se avessi letto la man page di grep sapresti che esiste lo switch -r che rende la ricerca di grep ricorsiva per tutte le sottodirectory della directory in cui inizi la ricerca.
Codice: Seleziona tutto
-R, -r, --recursive
Read all files under each directory, recursively; this is equiv-
alent to the -d recurse option.
- napoleone1981
- Linux 2.x

- Messaggi: 380
- Iscritto il: gio 26 ago 2004, 0:00
- Località: Sant'Elena