|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Dec 2006
Messaggi: 104
|
[C unix] ricerca occorrenze con grep
Ciao a tutti...vorrei un aiutino a proposito di un problema di ricerca di tutte le occorrenze di una parola in un testo e d un conteggio delle stesse.
Se utilizzo il comando grep -c occorrenza fileditesto.txt ottengo solo la somma del numero di linee contenenti la occorrenza e non le occorrenze stesse...come posso fare per ottenere queste? Nel caso specifico in questo file di testo: Pattern recognition is the scientific discipline whose goal is the classification of objects into a number of categories or classes. A pattern is a generic objects: images,signals waveform etc. Pattern recognition an integral part in most machine intelligence, systems built for decision making. devo cercare le occorrenzae "is "e contarle. grep -c is file.txt mi restituisce 4 perchè in 4 righe m vede "is" ma poichè le parole che contengono is sono 5 e nn 4 --> is,discipline,is,is,decision che istruzione devo usare? |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Dec 2005
Città: Istanbul
Messaggi: 1817
|
devi _non_ usare -c, che serve appunto a stampare solo il numero di occorrenze.
__________________
One of the conclusions that we reached was that the "object" need not be a primitive notion in a programming language; one can build objects and their behaviour from little more than assignable value cells and good old lambda expressions. —Guy Steele |
|
|
|
|
|
#3 |
|
Member
Iscritto dal: Dec 2006
Messaggi: 104
|
Senza l'opzione -c ottengo la stampa delle righe che contengono l'occorrenza "is", a me serve il conteggio di queste occorrenze nel file...
|
|
|
|
|
|
#4 |
|
Member
Iscritto dal: Apr 2008
Messaggi: 181
|
|
|
|
|
|
|
#5 |
|
Member
Iscritto dal: Dec 2006
Messaggi: 104
|
Ottengo lo stesso output..di grep -c is file.txt ...cioè ancora 4
|
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Oct 2001
Messaggi: 11471
|
È orrenda come soluzione ma funziona.
Codice:
sed 's/is/is\ /g' prova.txt | grep -c 'is' |
|
|
|
|
|
#7 |
|
Member
Iscritto dal: Dec 2006
Messaggi: 104
|
Codice:
sed 's/is/is\ /g' prova.txt | grep -c 'is' uà...possibile? |
|
|
|
|
|
#8 |
|
Member
Iscritto dal: Dec 2006
Messaggi: 104
|
L'output è sempre 4...
|
|
|
|
|
|
#9 | |
|
Moderatore
Iscritto dal: Nov 2003
Messaggi: 16213
|
Quote:
@VICIUS: bello non è, però mi sta facendo venir voglia di imparare a usare sed...
__________________
Ubuntu è un'antica parola africana che significa "non so configurare Debian" Scienza e tecnica: Matematica - Fisica - Chimica - Informatica - Software scientifico - Consulti medici REGOLAMENTO DarthMaul = Asus FX505 Ryzen 7 3700U 8GB GeForce GTX 1650 Win10 + Ubuntu |
|
|
|
|
|
|
#10 | |
|
Member
Iscritto dal: Dec 2006
Messaggi: 104
|
Quote:
intanto grazie. |
|
|
|
|
|
|
#11 |
|
Moderatore
Iscritto dal: Nov 2003
Messaggi: 16213
|
grep non conta le occorrenze del pattern, ma le righe in cui c'è almeno un'occorrenza del pattern.
Se tu fai una copia "al volo" del file mettendo un newline in fondo a ogni occorrenza del pattern, allora nessuna riga può avere più di un'occorrenza, e il numero che serve a te diventa uguale a quello calcolato da grep sulla copia del file.
__________________
Ubuntu è un'antica parola africana che significa "non so configurare Debian" Scienza e tecnica: Matematica - Fisica - Chimica - Informatica - Software scientifico - Consulti medici REGOLAMENTO DarthMaul = Asus FX505 Ryzen 7 3700U 8GB GeForce GTX 1650 Win10 + Ubuntu |
|
|
|
|
|
#12 |
|
Member
Iscritto dal: Dec 2006
Messaggi: 104
|
Grazie mille
|
|
|
|
|
|
#13 |
|
Senior Member
Iscritto dal: Dec 2005
Città: Istanbul
Messaggi: 1817
|
ah sorry, avevo letto male la richiesta. Mille scuse
__________________
One of the conclusions that we reached was that the "object" need not be a primitive notion in a programming language; one can build objects and their behaviour from little more than assignable value cells and good old lambda expressions. —Guy Steele |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 21:37.




















