Bash: richiesta info su dizionario di frequenza

Linguaggi di programmazione: php, perl, python, C, bash e tutti gli altri.
Sevenis
Prode Principiante
Messaggi: 79
Iscrizione: sabato 2 settembre 2006, 21:59

Bash: richiesta info su dizionario di frequenza

Messaggio 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
Avatar utente
Zoff
Moderatore Globale
Moderatore Globale
Messaggi: 33338
Iscrizione: mercoledì 10 ottobre 2007, 22:36

Re: Bash - richiesta info su dizionario di frequenza

Messaggio da Zoff »

devi passare allo scrit come argomento l'url da elaborare

esempio:

Codice: Seleziona tutto

./tuoscript.sh "http://www.google.com"
Prima di aprire una discussione leggi le Guide, poi vedi se c'è un HowTo nel Wiki e fai una ricerca nel Forum!
Applica semplicemente il [Risolto]! Prova: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=548821
Vuoi qualcosa di piu' dal forum? Prova i miei script: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=597066
Avatar utente
UbuNuovo
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 4457
Iscrizione: sabato 12 dicembre 2009, 20:58
Desktop: Mate
Distribuzione: Ubuntu Mate 22.04.1 LTS
Sesso: Maschile
Contatti:

Re: Bash - richiesta info su dizionario di frequenza

Messaggio da UbuNuovo »

Leva gli spazi intorno all'uguale e quota le variabili, altrimenti non funzionerà mai.
Salva l'Ucraina! 🇺🇦
Sevenis
Prode Principiante
Messaggi: 79
Iscrizione: sabato 2 settembre 2006, 21:59

Re: Bash - richiesta info su dizionario di frequenza

Messaggio 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..
Avatar utente
UbuNuovo
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 4457
Iscrizione: sabato 12 dicembre 2009, 20:58
Desktop: Mate
Distribuzione: Ubuntu Mate 22.04.1 LTS
Sesso: Maschile
Contatti:

Re: Bash: richiesta info su dizionario di frequenza

Messaggio 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'.
Salva l'Ucraina! 🇺🇦
Sevenis
Prode Principiante
Messaggi: 79
Iscrizione: sabato 2 settembre 2006, 21:59

Re: Bash: richiesta info su dizionario di frequenza

Messaggio 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?
Avatar utente
UbuNuovo
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 4457
Iscrizione: sabato 12 dicembre 2009, 20:58
Desktop: Mate
Distribuzione: Ubuntu Mate 22.04.1 LTS
Sesso: Maschile
Contatti:

Re: Bash: richiesta info su dizionario di frequenza

Messaggio 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"
Salva l'Ucraina! 🇺🇦
Scrivi risposta

Ritorna a “Programmazione”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 4 ospiti