shell
shell
c'è un modo, da bash, per sapere la frequenza delle parole in un testo?
in modo che visualizzi parola e volte che viene ripetuta.
grazie!
in modo che visualizzi parola e volte che viene ripetuta.
grazie!
qui c'è qualcosa, forse...
http://www.univ.trieste.it/~nircdc/doc/ ... .20.4.html
http://www.univ.trieste.it/~nircdc/doc/ ... .20.4.html
anche qui:
http://it.tldp.org/guide/abs/moreadv.html
http://it.tldp.org/guide/abs/moreadv.html
questo funziona:
#!/bin/bash
# wf2.sh: Analisi sommaria della frequenza delle parole in un file di testo.
# Usa 'xargs' per scomporre le righe del testo in parole singole.
# Confrontate quest'esempio con lo script "wf.sh" che viene dopo.
# Verifica la presenza di un file di input passato da riga di comando.
ARG=1
E_ERR_ARG=65
E_NOFILE=66
if [ $# -ne "$ARG" ]
# Il numero di argomenti passati allo script ?® corretto?
then
echo "Utilizzo: `basename $0` nomefile"
exit $E_ERR_ARG
fi
if [ ! -f "$1" ] # Verifica se il file esiste.
then
echo "Il file \"$1\" non esiste."
exit $E_NOFILE
fi
########################################################
cat "$1" | xargs -n1 | \
# Elenca il file una parola per riga.
tr A-Z a-z | \
# Cambia tutte le lettere maiuscole in minuscole.
sed -e 's/\.//g' -e 's/\,//g' -e 's/ /\
/g' | \
# Filtra i punti e le virgole, e
#+ cambia gli spazi tra le parole in linefeed.
sort | uniq -c | sort -nr
# Infine premette il conteggio delle occorrenze e le
#+ ordina in base al numero.
########################################################
# Svolge lo stesso lavoro dell'esempio "wf.sh",
#+ ma in modo un po' pi?? greve e lento.
exit 0
l'ho preso dall'ultimo sito e ripulito.
devi copiarlo in un file di testo.
poi da terminale fai chmod ugo+x nomefileditesto
poi ./nomefileditesto fileditestodaanalizzare
ti dice frequenza e parola.
devi copiarlo fino a exit 0
ciao.
#!/bin/bash
# wf2.sh: Analisi sommaria della frequenza delle parole in un file di testo.
# Usa 'xargs' per scomporre le righe del testo in parole singole.
# Confrontate quest'esempio con lo script "wf.sh" che viene dopo.
# Verifica la presenza di un file di input passato da riga di comando.
ARG=1
E_ERR_ARG=65
E_NOFILE=66
if [ $# -ne "$ARG" ]
# Il numero di argomenti passati allo script ?® corretto?
then
echo "Utilizzo: `basename $0` nomefile"
exit $E_ERR_ARG
fi
if [ ! -f "$1" ] # Verifica se il file esiste.
then
echo "Il file \"$1\" non esiste."
exit $E_NOFILE
fi
########################################################
cat "$1" | xargs -n1 | \
# Elenca il file una parola per riga.
tr A-Z a-z | \
# Cambia tutte le lettere maiuscole in minuscole.
sed -e 's/\.//g' -e 's/\,//g' -e 's/ /\
/g' | \
# Filtra i punti e le virgole, e
#+ cambia gli spazi tra le parole in linefeed.
sort | uniq -c | sort -nr
# Infine premette il conteggio delle occorrenze e le
#+ ordina in base al numero.
########################################################
# Svolge lo stesso lavoro dell'esempio "wf.sh",
#+ ma in modo un po' pi?? greve e lento.
exit 0
l'ho preso dall'ultimo sito e ripulito.
devi copiarlo in un file di testo.
poi da terminale fai chmod ugo+x nomefileditesto
poi ./nomefileditesto fileditestodaanalizzare
ti dice frequenza e parola.
devi copiarlo fino a exit 0
ciao.
mmm...c'è qualcosa che non va...di quello che ha scritto ale non ci ho capito molto..
per quanto riguarda quello che ha scritto il berto (wc -w)..cosa devo fare una volta che apro la shell?
scusate l'ignoranza, ma ne so poco di shell...ma entro domani pomeriggio devo almeno sapere le cose più elementari.
grazie
<font face="Century Gothic"><font size="2"> <font color="brown">
He said that that that that that man used was wrong
</font id="brown"></font id="size2">
</font id="Century Gothic">
per quanto riguarda quello che ha scritto il berto (wc -w)..cosa devo fare una volta che apro la shell?
scusate l'ignoranza, ma ne so poco di shell...ma entro domani pomeriggio devo almeno sapere le cose più elementari.
grazie
<font face="Century Gothic"><font size="2"> <font color="brown">
He said that that that that that man used was wrong
</font id="brown"></font id="size2">
</font id="Century Gothic">
lo script incollato funziona a patto che nel testo non siano presenti caratteri che xargs ritiene riservati.
Bisogna cercare nel testo quei caratteri ('"+;*<>) e sostituirli con uno spazio " ".
qualcuno conosce un comando da shell per sostituire determinati caratteri all'interno di un file con altri?
<center><font color="brown"><h5> tu sei normale (quanto mi costa ammetterlo!!)
</h5></center><div align="right"><b> vava</div id="right"></b></font id="brown">
Bisogna cercare nel testo quei caratteri ('"+;*<>) e sostituirli con uno spazio " ".
qualcuno conosce un comando da shell per sostituire determinati caratteri all'interno di un file con altri?
<center><font color="brown"><h5> tu sei normale (quanto mi costa ammetterlo!!)
</h5></center><div align="right"><b> vava</div id="right"></b></font id="brown">
345.9 Sostituire caratteri in un file di testo
Esiste un modo per rimpiazzare da riga di comando alcuni caratteri contenuti in un file di testo con altri caratteri? In sostanza, mi serve un modo per convertire tutti i "<" contenuti in un file in ":"
sed -e s/\</:/g nomefile > nuovofile
D: Andrea Nicosia
R: Elisa Manara
preso da:
http://lagash.dft.unipa.it/AL/al433.htm
Esiste un modo per rimpiazzare da riga di comando alcuni caratteri contenuti in un file di testo con altri caratteri? In sostanza, mi serve un modo per convertire tutti i "<" contenuti in un file in ":"
sed -e s/\</:/g nomefile > nuovofile
D: Andrea Nicosia
R: Elisa Manara
preso da:
http://lagash.dft.unipa.it/AL/al433.htm