Pagina 1 di 1

Bash: richiesta info su dizionario di frequenza

Inviato: giovedì 12 maggio 2016, 13:05
da Sevenis
Ciao a tutti,
potreste dirmi nello specifico cosa fanno queste due stringhe?

Codice: Seleziona tutto

CODIFICA = $(curl -s $1 | tr -d '"' | grep -oE 'charset=[[:alnum:]\"-]+' | cut -d= -f2 | tr [:lower:] [:upper:] | tail -1)

lynx -dump $1 | iconv -f $CODIFICA -t UTF-8 | tr [[:upper:]] [[:lower:]] | tr [[:punct:]][[:space:]] '\n' | sort | grep -v ^$ | uniq -c | sort -nr

Se lo faccio partire in terminale mi appare:

Codice: Seleziona tutto

curl: no URL specified!
curl: try 'curl --help' or 'curl --manual' for more information
./analizzatoreFreq2.sh: line 5: CODIFICA: command not found
iconv: conversion from -t unsupported
iconv: try 'iconv -l' to get the list of supported encodings
grazie

Re: Bash - richiesta info su dizionario di frequenza

Inviato: giovedì 12 maggio 2016, 13:28
da Zoff
devi passare allo scrit come argomento l'url da elaborare

esempio:

Codice: Seleziona tutto

./tuoscript.sh "http://www.google.com"

Re: Bash - richiesta info su dizionario di frequenza

Inviato: giovedì 12 maggio 2016, 14:24
da UbuNuovo
Leva gli spazi intorno all'uguale e quota le variabili, altrimenti non funzionerà mai.

Re: Bash - richiesta info su dizionario di frequenza

Inviato: giovedì 19 maggio 2016, 20:18
da Sevenis
UbuNuovo [url=http://forum.ubuntu-it.org/viewtopic.php?p=4881262#p4881262][img]http://forum.ubuntu-it.org/images/icons/icona-cita.gif[/img][/url] ha scritto:Leva gli spazi intorno all'uguale e quota le variabili, altrimenti non funzionerà mai.
perdonami, in che senso devo quotare le variabili?

Altra cosa, è normale che su ubuntu se faccio il man di IF, DO, FOR non mi esce nulla?
avrei bisogno di un ciclo for che mi prenda dei link da un txt e li salvi in un array per scandagliarli con il dizionario di frequenza..

Re: Bash: richiesta info su dizionario di frequenza

Inviato: giovedì 19 maggio 2016, 22:11
da UbuNuovo
Per quotare le variabili si intende metterle tra apici doppi ("), (il quoting forte, quello con apici singoli, non consente l'espansione delle variabili) quindi:

Codice: Seleziona tutto

"$nome_variabile"
Nelle pagine man trovi i comandi esterni; costrutti (condizionali, cicli etc) e comandi interni li trovi in 'man bash'.

Re: Bash: richiesta info su dizionario di frequenza

Inviato: venerdì 20 maggio 2016, 14:53
da Sevenis
UbuNuovo [url=http://forum.ubuntu-it.org/viewtopic.php?p=4883666#p4883666][img]http://forum.ubuntu-it.org/images/icons/icona-cita.gif[/img][/url] ha scritto:Per quotare le variabili si intende metterle tra apici doppi ("), (il quoting forte, quello con apici singoli, non consente l'espansione delle variabili) quindi:

Codice: Seleziona tutto

"$nome_variabile"
Nelle pagine man trovi i comandi esterni; costrutti (condizionali, cicli etc) e comandi interni li trovi in 'man bash'.
Ok, grazie!
Scusami, per quel che riguarda il problema di "scansione" del file txt contenente una serie di indirizzi web, come posso fare? Nello specifico il programma dovrebbe scansionare il txt e far partire il dizionari di frequenza per OGNUNO dei link in lista.
Come si fa a fare questa scansione? Un for con qualche condizione particolare?

Re: Bash: richiesta info su dizionario di frequenza

Inviato: venerdì 20 maggio 2016, 15:00
da UbuNuovo
mettiamo che tu abbia un indirizzo per riga nel file "url.txt"
Puoi fare una cosa del genere:

Codice: Seleziona tutto

while read url;do
# qua il codice da eseguire per ogni url
done < url.txt
Naturalmente, nel codice devi sostituire "$1" con "$url"