shell


Rispondi
Avatar utente
ale
Mac
Messaggi: 6797
Iscritto il: 27 apr 2001, 20:31
Località: Romanengo
Contatta:

shell

Messaggio da ale » 11 lug 2005, 23:03

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!

Avatar utente
berto
GranGianGnomo
Messaggi: 2343
Iscritto il: 10 lug 2001, 16:04
Contatta:

Messaggio da berto » 11 lug 2005, 23:21

wc -w



<hr noshade size="1"><font size="1">
DOWN WITH BIG BROTHER
DOWN WITH BIG BROTHER
DOWN WITH BIG BROTHER
DOWN WITH BIG BROTHER
DOWN WITH BIG BROTHER
</font id="size1">

Avatar utente
ale
Mac
Messaggi: 6797
Iscritto il: 27 apr 2001, 20:31
Località: Romanengo
Contatta:

Messaggio da ale » 11 lug 2005, 23:26


Avatar utente
ale
Mac
Messaggi: 6797
Iscritto il: 27 apr 2001, 20:31
Località: Romanengo
Contatta:

Messaggio da ale » 11 lug 2005, 23:29


Avatar utente
ale
Mac
Messaggi: 6797
Iscritto il: 27 apr 2001, 20:31
Località: Romanengo
Contatta:

Messaggio da ale » 11 lug 2005, 23:31

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.

Avatar utente
vava
Gnomo
Messaggi: 581
Iscritto il: 16 lug 2001, 13:48
Località: Soncino

Messaggio da vava » 12 lug 2005, 08:45

ehm...dopo ci proverò..

<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">

Avatar utente
vava
Gnomo
Messaggi: 581
Iscritto il: 16 lug 2001, 13:48
Località: Soncino

Messaggio da vava » 12 lug 2005, 11:36

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">

Avatar utente
ale
Mac
Messaggi: 6797
Iscritto il: 27 apr 2001, 20:31
Località: Romanengo
Contatta:

Messaggio da ale » 12 lug 2005, 11:47

wc ignoralo.
dopo a pranzo di faccio vedere come usare il "mio"

Avatar utente
oMAR
GranGianGnomo
Messaggi: 2448
Iscritto il: 11 lug 2001, 12:49
Contatta:

Messaggio da oMAR » 12 lug 2005, 19:56

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">

Avatar utente
ale
Mac
Messaggi: 6797
Iscritto il: 27 apr 2001, 20:31
Località: Romanengo
Contatta:

Messaggio da ale » 12 lug 2005, 20:02

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

Rispondi