Newsgroup: it.comp.os.linux.iniziare
Titolo: Conteggio stringhe/parole in un testo

Vorrei contare quante stringhe/parole differenti ci sono e quante 
ripetute, mettendolo in ordine di quantità, in un testo.
Ho fatto una ricerca ed il comando che pù si avvicina è questo:
tr '' '' < esempio.txt | grep -i -c mauris
solo che mi trova esclusivamente al testo indicato (mauris) e non 
risolve il mio problema, volendolo estendere a tutte le stringhe 
differenti presenti nel testo. Soluzione?
Ciao.

Kappa wrote on 10/25/21 11:50 AM:

Un bel programmino, scritto nel linguaggio che preferisci. Googlando ne trovi di
sicuro a bizzeffe già pronti, il caso è arcinoto.


Non so programmare, se c'era qualcosa con i comandi di Linux per me 
andava molto meglio. Ho cercato ancora senza successo.


Non e` mica banalissimo.
 
Come conti "pippo,pluto"? E` una o due parole?
Ed invece "pippo-pluto"?
 
In linea di principio, per prima cosa sarebbero
da sostituire tutti i separatori con un "\n" e
poi usare "strings", "sort", "uniq" e cose simili.
 
bye,
 
-- 
 
piergiorgio

Addi' 25 ott 2021 09:50:46, Kappa scrive:

Non si capisce (io!) cosa vuoi contare.. se con "stringhe/parole"
e poi con "stringhe" vuoi dire sempre la stessa cosa, allora ad
esempio le puoi contare cosi':
 
file_orig:
-cite----------

-/cite-----
 
riga di comando (occhio anche agli spazi! e toglici $: che mi sa che
sei un po' niubbo!):
$: tr -s '[:punct:] ' '\n' < file_orig | sort | uniq -c
 
Guarda cosa ti viene:
-cite--------
      1 a
      1 al
      1 avvicina
      1 c
      2 che
      1 ci
      1 comando
      1 contare
      1 di
      2 differenti
      2 e
      1 è
      1 ed
      1 esclusivamente
      1 esempio
      1 estendere
      1 fatto
      1 grep
      1 Ho
      1 i
      2 il
      2 in
      1 indicato
      1 le
      2 mauris
      1 mettendolo
      1 mi
      1 mio
      1 nel
      1 non
      1 ordine
      1 parole
      1 presenti
      1 problema
      1 pù
      2 quante
      1 quantità
      1 questo
      1 ricerca
      1 ripetute
      1 risolve
      1 si
      1 solo
      1 Soluzione
      1 sono
      2 stringhe
      3 testo
      1 tr
      1 trova
      1 tutte
      1 txt
      1 un
      1 una
      1 volendolo
      1 Vorrei
-/cite---------------
 
Ma si puo' fare anche altro eh ciao
 
-- 
Yoda
 

 tr -s '[:punct:] ' '\n' < file_orig | sort | uniq -c
 
Uhmmm e se avessi un file testo con all'interno degli indirizzi IP?


E' giusto, infatti se avessi un file testo con all'interno degli 
indirizzi IP le stringhe non verrebbero riconosciute, in questo caso c'è 
soluzione?

 soluzione?
 
Si, c'e` una soluzione.
Devi sapere cosa stai cercando.
 
C'e` un problema di ambiguita` che si
deve risolvere a mano.
 
bye,
 
-- 
 
piergiorgio

 Uhmmm e se avessi un file testo con all'interno degli indirizzi IP?
 
Questa riga ti taglia via ogni carattere di punteggiatura, dunque ti
distrugge necessariamente tutti gli indirizzi.
Ma e' inutile risponderti in due, segui solo il forte Piergiorgio;
ho postato in contemporanea se no se l'avessi visto avrei evitato,
a meno d'avere in alternativa qualcosa d'interessante o curiosa.
 
Pero' devi postare un esempio *chiaro* e dettagliato di cosa vuoi e
cosa non vuoi ciao
 
-- 
Yoda
 


      1 GPLv3+:
      1 GNU
      1 Full
      1 Free
      1 Foundation,
      1 documentation
      1 '(coreutils)
      1 COPYRIGHT
      1 Copyright
      1 available
      1 at:
      1 ALSO
      1 2018
      1 ©
-/cite-
 
-- 
Yoda
 

 
 
Praticamente perfetto. Thank you!