Pagina 123 di 123

Re: ma quant'è utile questo terminale!

Inviato: venerdì 27 gennaio 2023, 11:44
da GjMan78
damar ha scritto:
venerdì 27 gennaio 2023, 11:35
devi usare

Codice: Seleziona tutto

echo -n
con quel flag non viene inserito il ritorno a capo a fine stringa
d'oh! grazie del chiarimento :D

Re: ma quant'è utile questo terminale!

Inviato: sabato 28 gennaio 2023, 18:23
da GjMan78
Sperando sia utile a qualcuno riporto una piccola funzione da inserire negli alias per il confronto di un file scaricato con l'hash riportato sul sito.

Può controllare hash md5 e sha256.

Codice: Seleziona tutto

function check_hash() {
    if [ "$1" = '' ]; then echo "Uso: check_hash tipo_di_hash hash_calcolato file \n\nEsempio: check_hash md5 f6d75f4bd32a27d0ae1ff8583eece455 nomefile.ext";
    elif [ "$1" = sha256 ]; then sha256sum -c <<<""$2" *"$3""; 
    elif [ "$1" = md5 ]; then md5sum -c <<<""$2" *"$3"";
    fi
}
Uso

senza argomenti

Codice: Seleziona tutto

check_hash                                                                                                          
Uso: check_hash tipo_di_hash hash_calcolato file 

Esempio: check_hash md5 f6d75f4bd32a27d0ae1ff8583eece455 nomefile.ext
md5

Codice: Seleziona tutto

check_hash md5 f6d75f4bd32a27d0ae1ff8583eece455 Scaricati/pclinuxos64-xfce-2022.12.iso                           
Scaricati/pclinuxos64-xfce-2022.12.iso: OK
sha256

Codice: Seleziona tutto

check_hash sha256 e90532d01f40e56defd4edd6f699d01241b1cffb91c997011c81d130ff9c12f6 Scaricati/blendOS-2023.01.26-x86_64.iso
Scaricati/blendOS-2023.01.26-x86_64.iso: OK
in caso di errore

Codice: Seleziona tutto

check_hash md5 f6d75f4bd32a2345ae1ff8583eece455 Scaricati/pclinuxos64-xfce-2022.12.iso                              
Scaricati/pclinuxos64-xfce-2022.12.iso: NON RIUSCITO

Re: ma quant'è utile questo terminale!

Inviato: sabato 25 febbraio 2023, 9:33
da Pehua
Ciao ragazzi!!
Una radiolina in background fa sempre comodo :p
Un semplice script che si richiama con scorciatoie da tastiera, almeno lo uso cosi per comodità:

Codice: Seleziona tutto

#!/bin/bash
#
# mercoledì-08-02-2023
# Ora: 22:41
# By Pehua
#
. colori.sh
function RadioParadise {
mplayer -cache 128 http://stream.radioparadise.com/flac &
}

function RadioParadise-Mellow {
mplayer -cache 128 http://stream.radioparadise.com/mellow-flac &
}

function RadioParadise-Rock {
mplayer -cache 128 http://stream.radioparadise.com/rock-flac &
}

function RadioParadise-Eclectic {
mplayer -cache 128 http://stream.radioparadise.com/eclectic-flac &
}

function Virgin-Radio {
mplayer -cache 128 http://icecast.unitedradio.it/Virgin.mp3 &
}

SCELTA=`zenity --list --radiolist --title="Radio Zen Ity" --text="Scegliere la radio da ascoltare:" --width=350 --height=242 --column="Selezione" --column="Scelta" false "RadioParadise" false "RadioParadise-Mellow" false "RadioParadise-Rock" false "RadioParadise-Eclectic" false "Virgin-Radio"`

			if [ $? = 0 ] ; then

		case $SCELTA in

	RadioParadise) RadioParadise ;;

	RadioParadise-Mellow) RadioParadise-Mellow ;;

	RadioParadise-Rock) RadioParadise-Rock ;;

	RadioParadise-Eclectic) RadioParadise-Eclectic ;;
	
	Virgin-Radio) Virgin-Radio ;;
	
	# $0 richiama se stesso invece dell 'avviso: Nessuna scelta
	*) $0 #zenity --info --timeout=3 --title="Radio Zen Ity" --text="Nessuna scelta!!" ;;

		esac

		exit 0

			fi

zenity --info --timeout=3 --title="Radio Zen Ity" --text="Operazione Annullata!!"

#
# Pehua usa: Ubuntu 22.04.1 LTS x86_64 ~ DE: ubuntu ~ Kernel: 5.15.0-58-generic
# Tutti gli script sono proprietà di Pehua
# Inventati e scritti da me.
# Da usare, modificare e distribuire liberamente e gratuitamente
#
Per killare la radio uso un altra scorciatoia da tastiera: killall mplayer

A tutti coloro che leggono un saluto, a chi piace ed userà la radio-lina un salutone :D

Buon WE!!

Pehua

Re: ma quant'è utile questo terminale!

Inviato: sabato 25 febbraio 2023, 13:06
da UbuNuovo
Ciao Pehua, io non ho l'abitudine di ascoltare la radio ma, per divertimento, ho fatto una versione del tuo script che permette di aggiungere canali radio ad un elenco, senza dover riscrivere funzioni, modificare lo switch case e le opzioni di zenity.
Basta aggiungere all'elenco: l'URL del canale, separato da uno spazio e il nome che deve comparire in zenity (senza spazi), una radio per riga.

Lo script è questo:

Codice: Seleziona tutto

#!/bin/bash
# Versione di Ubunuovo da radio-zen-it di Frank
# Riproduce stream da elenco URL (radio).
# richiede zenity
# Se eseguito in background, uscire con: 'killall mplayer'
# Nell'elenco inserire: url spazio nome_da_mostrare

url_nomi='http://stream.radioparadise.com/flac RadioParadise
http://stream.radioparadise.com/mellow-flac RadioParadise-Mellow
http://stream.radioparadise.com/rock-flac RadioParadise-Rock
http://stream.radioparadise.com/eclectic-flac RadioParadise-Eclectic
http://icecast.unitedradio.it/Virgin.mp3 Virgin-Radio'

while read url nome;do opt+="false \"$nome\" ";done <<< "$url_nomi"

function scegli(){
    scelta=$(zenity --list --radiolist --title="Radio Zen Ity" --text="Scegliere la radio da ascoltare o Esci per uscire:" --width=350 --height=242 --column="Selezione" --column="Scelta" $opt false "Esci")
    if [ ! $? = 0 ] || [ -z "$scelta" ];then scegli; fi
}

scegli

scelta=$(tr -d '"' <<< $scelta)
if [ "$scelta" = "Esci" ]
    then 
        exit
    else
        stream=$(awk -v s="$scelta" '$2==s{print $1}' <<< "$url_nomi" )
        mplayer -cache 128 "$stream" # inserire ' &' a fine comando per background
fi
exit
:ciao:

P.s. Ti è rimasto il source di colori.sh

Codice: Seleziona tutto

. colori.sh
edit corretto seriamente bug ok.

Re: ma quant'è utile questo terminale!

Inviato: sabato 25 febbraio 2023, 17:57
da Pehua
UbuNuovo ha scritto:
sabato 25 febbraio 2023, 13:06
Ciao Pehua, io non ho l'abitudine di ascoltare la radio ma, per divertimento, ho fatto una versione del tuo script che permette di aggiungere canali radio ad un elenco, senza dover riscrivere funzioni, modificare lo switch case e le opzioni di zenity.
Basta aggiungere all'elenco: l'URL del canale, separato da uno spazio e il nome che deve comparire in zenity (senza spazi), una radio per riga.

Lo script è questo:

Codice: Seleziona tutto

#!/bin/bash
# Versione di Ubunuovo da radio-zen-it di Frank
# Riproduce stream da elenco URL (radio).
# richiede zenity
# Se eseguito in background, uscire con: 'killall mplayer'
# Nell'elenco inserire: url spazio nome_da_mostrare

url_nomi='http://stream.radioparadise.com/flac RadioParadise
http://stream.radioparadise.com/mellow-flac RadioParadise-Mellow
http://stream.radioparadise.com/rock-flac RadioParadise-Rock
http://stream.radioparadise.com/eclectic-flac RadioParadise-Eclectic
http://icecast.unitedradio.it/Virgin.mp3 Virgin-Radio'

while read url nome;do opt+="false \"$nome\" ";done <<< "$url_nomi"

function scegli(){
    scelta=$(zenity --list --radiolist --title="Radio Zen Ity" --text="Scegliere la radio da ascoltare o Esci per uscire:" --width=350 --height=242 --column="Selezione" --column="Scelta" $opt false "Esci")
    if [ ! $? = 0 ];then scegli; fi
}

scegli

scelta=$(tr -d '"' <<< $scelta)
if [ "$scelta" = "Esci" ]
    then 
        exit
    else
        stream=$(awk -v s="$scelta" '$2==s{print $1}' <<< "$url_nomi" )
        mplayer -cache 128 "$stream" # inserire ' &' a fine comando per background
fi
exit
:ciao:

P.s. Ti è rimasto il source di colori.sh

Codice: Seleziona tutto

. colori.sh
We ciao, bello lo script (non ci capisco molto), manca solo una cosa, c'è un piccolo bug, se dai ok senza aver scelto...
Potresti metterci:

Codice: Seleziona tutto

espeak -v it -s 120 "Seleziona una radio, capoccione"
:lol:

Esci non l avevo messa come scelta perchè basta dare annulla o chiudere con la x, nel mio script, mentre se dai ok senza aver selezionato ti ripresenta il programma.

Per . colori.sh, ho un altro script che associato a scorciatoia mi fa trovare pronto sulla scrivania un nuovo script.sh vergine e ci ho messo delle cose di default, incluso colori che non da fastidio se non si usa, per questo era la :p

Saluti e grazie della variabile Radio-Zen-ity

Ciao Ubu :birra:

Re: ma quant'è utile questo terminale!

Inviato: sabato 25 febbraio 2023, 18:04
da UbuNuovo
Sì, si potrebbe mettere un or $scelta vuota ...
ma espeak -v it -s 120 "Seleziona una radio, capoccione" è più nel mio stile "bischerate" :lol:

Re: ma quant'è utile questo terminale!

Inviato: sabato 25 febbraio 2023, 18:09
da Pehua
UbuNuovo ha scritto:
sabato 25 febbraio 2023, 18:04
Sì, si potrebbe mettere un or $scelta vuota ...
ma espeak -v it -s 120 "Seleziona una radio, capoccione" è più nel mio stile "bischerate" :lol:
Moooo moooo hahahah :lol:

Thx :birra:

Re: ma quant'è utile questo terminale!

Inviato: sabato 25 febbraio 2023, 18:17
da UbuNuovo
Sai l'origine vero? deriva da:

Codice: Seleziona tutto

8-) apt-get moo
                 (__) 
                 (oo) 
           /------\/ 
          / |    ||   
         *  /\---/\ 
            ~~   ~~   
..."Have you mooed today?"...
8-) 
o

Codice: Seleziona tutto

aptitude moo
aptitude -v moo
aptitude -vv moo
aptitude -vvv moo
aptitude -vvvv moo
aptitude -vvvvv moo
aptitude -vvvvvv moo

Re: ma quant'è utile questo terminale!

Inviato: sabato 25 febbraio 2023, 18:21
da Pehua
UbuNuovo ha scritto:
sabato 25 febbraio 2023, 18:17
Sai l'origine vero? deriva da:

Codice: Seleziona tutto

8-) apt-get moo
                 (__) 
                 (oo) 
           /------\/ 
          / |    ||   
         *  /\---/\ 
            ~~   ~~   
..."Have you mooed today?"...
8-) 
o

Codice: Seleziona tutto

aptitude moo
aptitude -v moo
aptitude -vv moo
aptitude -vvv moo
aptitude -vvvv moo
aptitude -vvvvv moo
aptitude -vvvvvv moo
No non lo so, ora indago!!
Ho provato a farne una ma poi echo -e ' /\ '
mi elimina gli spazi e non capisco perchè, quindi viene una cosa appiccicata che non rispetta il disegno, ho fato una versione con solo echo e clear.

Re: ma quant'è utile questo terminale!

Inviato: domenica 9 aprile 2023, 22:19
da wilecoyote
:) Salve, quale echo -e ' /\ ' ?

Si deve dare così, tutti insieme:

Codice: Seleziona tutto

wilecoyote@CactusField:~$ aptitude moo
aptitude -v moo
aptitude -vv moo
aptitude -vvv moo
aptitude -vvvv moo
aptitude -vvvvv moo
aptitude -vvvvvv moo
Non ci sono sorprese nascoste in questo programma.
No, non ci sono proprio sorprese nascoste in questo programma.
Non ti ho già detto che non ci sono sorprese nascoste in questo programma?
Smettila!
Va bene, va bene. Se ti mostro una sorpresa, poi te ne vai?
D'accordo, hai vinto.

                               /----\
                       -------/      \
                      /               \
                     /                |
   -----------------/                  --------\
   ----------------------------------------------
Che cos'è? È un elefante che viene mangiato da un boa, naturalmente.

:ciao: Ciao

Re: ma quant'è utile questo terminale!

Inviato: lunedì 10 aprile 2023, 11:32
da UbuNuovo
@Wile lui vuol fare il disegno ASCII per poi animarlo.
@Pehua Conviene impostare la variabile su file di testo, poi la incolli nel terminale

Codice: Seleziona tutto

supermucca='
                 (__) 
                 (oo) 
           /------\/ 
          / |    ||   
         *  /\---/\ 
            ~~   ~~   '

Codice: Seleziona tutto

8-) supermucca='
>                  (__) 
>                  (oo) 
>            /------\/ 
>           / |    ||   
>          *  /\---/\ 
>             ~~   ~~   '
8-) echo "$supermucca"

                 (__) 
                 (oo) 
           /------\/ 
          / |    ||   
         *  /\---/\ 
            ~~   ~~   
8-) 
Io avevo impostato una variabile per riga, visto che cambiavo solo la riga con gli occhi. http://www.ubaweb.it/bischerate/moo_script.php

Re: ma quant'è utile questo terminale!

Inviato: martedì 18 aprile 2023, 19:12
da Rapax
Salve a tutti,
ringrazio Pehua e UbuNuovo per questa chicca ;D :
UbuNuovo ha scritto:
sabato 25 febbraio 2023, 13:06
Ciao Pehua, io non ho l'abitudine di ascoltare la radio ma, per divertimento, ho fatto una versione del tuo script che permette di aggiungere canali radio ad un elenco, senza dover riscrivere funzioni, modificare lo switch case e le opzioni di zenity.
Basta aggiungere all'elenco: l'URL del canale, separato da uno spazio e il nome che deve comparire in zenity (senza spazi), una radio per riga.

Lo script è questo:

Codice: Seleziona tutto

#!/bin/bash
# Versione di Ubunuovo da radio-zen-it di Frank
# Riproduce stream da elenco URL (radio).
# richiede zenity
# Se eseguito in background, uscire con: 'killall mplayer'
# Nell'elenco inserire: url spazio nome_da_mostrare

url_nomi='http://stream.radioparadise.com/flac RadioParadise
http://stream.radioparadise.com/mellow-flac RadioParadise-Mellow
http://stream.radioparadise.com/rock-flac RadioParadise-Rock
http://stream.radioparadise.com/eclectic-flac RadioParadise-Eclectic
http://icecast.unitedradio.it/Virgin.mp3 Virgin-Radio'

while read url nome;do opt+="false \"$nome\" ";done <<< "$url_nomi"

function scegli(){
    scelta=$(zenity --list --radiolist --title="Radio Zen Ity" --text="Scegliere la radio da ascoltare o Esci per uscire:" --width=350 --height=242 --column="Selezione" --column="Scelta" $opt false "Esci")
    if [ ! $? = 0 ] || [ -z "$scelta" ];then scegli; fi
}

scegli

scelta=$(tr -d '"' <<< $scelta)
if [ "$scelta" = "Esci" ]
    then 
        exit
    else
        stream=$(awk -v s="$scelta" '$2==s{print $1}' <<< "$url_nomi" )
        mplayer -cache 128 "$stream" # inserire ' &' a fine comando per background
fi
exit
:ciao:

P.s. Ti è rimasto il source di colori.sh

Codice: Seleziona tutto

. colori.sh
edit corretto seriamente bug ok.

Attualmente è lo strumento principale per ascoltare la radio sul mio PC. Di seguito una versione personalizzata.

Codice: Seleziona tutto

#!/bin/bash

################################################################################
# Autore : Claudio Rapax
# Anno   : 2023
# Licenza: Questo script è software libero: puoi ridistribuirlo e/o modificarlo
#+         rispettando i termini della licenza GNU General Public License
#+         stabiliti dalla Free Software Foundation, versione 3.
#          Questo script è distribuito nella speranza che possa essere utile,
#+         ma SENZA ALCUNA GARANZIA.
#          Consulta la licenza GNU General Public License per avere ulteriori
#+         dettagli, visita <https://www.gnu.org/licenses/gpl-3.0.html>.
#          Versione, non ufficiale, in Italiano:
#          <https://homeunix.katolaz.net/gplv3/gplv3-it-final.html>
#          Questo script è una versione personalizzata dello script originale
#          versione di Ubunuovo di radio-zen-it di Frank sul sito:
#          <https://forum.ubuntu-it.org/viewtopic.php?p=5329079#p5329079>
#
# Scopo dello script: Riproduce stream da elenco URL (radio). Richiede zenity.
#                     Se eseguito in background, uscire con: 'killall mpv'
################################################################################
clear #pulizia del terminale prima dell'inizio dello script
################################################################################
# Definizioni delle variabili locali utilizzate nel resto dello script
# ------------------------------------------------------------------------------
EX_OK=0                         # Conclusione positiva
ENOPKG=65                       # pacchetto non installato
EARG=128                        # Argomento non valido
# Elenco url radio streaming. Nell'elenco inserire: url spazio nome_da_mostrare
url_nomi='http://icecast.unitedradio.it/Virgin.mp3 Virgin-Radio
http://s10.myradiostream.com:35464/ Radio-Freccia
http://rrock.fluidstream.eu/radiorock.mp3 Radio-Rock
http://stream1.rds.it:8000/rds64k RDS
http://shoutcast.rtl.it:3010/ RTL-102.5
http://edge.radiomontecarlo.net/RMC.mp3 Radio-Monte-Carlo
http://icecast.unitedradio.it/r101 Radio-101
http://onair11.xdevel.com:9990/ Radio-Norba'
#  Formattazione del testo nel terminale. Le definizioni seguenti controllano
#+ varie caratteristiche del testo che appare a terminale.
normale='\e[m'                  # annulla tutti gli effetti e torna al default
rossochiaro='\e[1;31m'          # carattere rosso chiaro
verdechiaro='\e[1;32m'          # carattere verde chiaro
giallo='\e[1;33m'               # carattere giallo
ciano='\e[0;36m'                # carattere ciano
# ------------------------------------------------------------------------------
# shellcheck disable=SC2034,SC2089,SC2090
#
#   SC2034 -- url appare inutilizzato. La variabile url è referenziata indirettamente
#   SC2089 -- Quotes/backslashes saranno trattate letteralmente. E' intenzionale
#   SC2090 -- Quotes/backslashes in questa variabile non saranno rispettati. Necessario per il corretto funzionamento di zenity

## Controlla la corretta invocazione dello script.
if [[ $# -ne ${ARGS} ]]; then
    echo -e "\n${rossochiaro} Errore!${normale}\n${verdechiaro} Utilizzo: $(basename "$0") non ammette argomenti.${normale}\n"
    exit "${EARG}"
fi

# Controlla se zenity è installato, altrimenti lo script non funzionerà.
if [[ ! $(command -v zenity) ]]; then
    echo -e "\n${rossochiaro} Errore!${normale}\n${verdechiaro}Il comando ${ciano}\" zenity \"${verdechiaro} non è presente sul sistema.${normale}\n"
    echo -e "${verdechiaro}Si chiede d'installare \" zenity \" necessario per il corretto funzionamento dello script.\n${normale}"
    exit "${ENOPKG}"
fi

# Inizio inserimento codice.
while read -r url nome;do opt+="false \"$nome\" ";done <<< "$url_nomi"

function scegli(){
    scelta=$(zenity --list --radiolist --title="Radio Zen Ity" --text="Scegliere la radio da ascoltare o Esci per uscire:" --width=350 --height=242 --column="Selezione" --column="Scelta" $opt false "Esci")
    if [ ! $? = 0 ];then scegli; fi
}

scegli

scelta=$(tr -d '"' <<< "$scelta")
if [ "$scelta" = "Esci" ] || [ "$scelta" = "" ]
    then
        exit "${EX_OK}"
    else
        stream=$(awk -v s="$scelta" '$2==s{print $1}' <<< "$url_nomi" )
        mpv -cache "$stream" & # inserire ' &' a fine comando per background
fi
# Fine inserimento codice.
echo -e "\n${giallo}Grazie per aver usato questo script.${normale}\n"
exit "${EX_OK}"
Saluti

Re: ma quant'è utile questo terminale!

Inviato: martedì 18 aprile 2023, 20:59
da UbuNuovo
@Rapax Forse sarebbe utile aggiungere all'ultimo messaggio, il modo per chiudere, cioè: killall mpv

Re: ma quant'è utile questo terminale!

Inviato: martedì 18 aprile 2023, 23:04
da Rapax
Qualcosa del genere?

Codice: Seleziona tutto

function scegli(){
    scelta=$(zenity --list --radiolist --title="Radio Zen Ity" --text="Scegliere la radio da ascoltare o Esci per uscire:" --width=350 --height=242 --column="Selezione" --column="Scelta" $opt false "Esci" false "Spegni")
    if [ ! $? = 0 ];then scegli; fi
}

scegli

scelta=$(tr -d '"' <<< "$scelta")
if [ "$scelta" = "Esci" ] || [ "$scelta" = "" ]; then
        exit "${EX_OK}"
    elif [ "$scelta" = "Spegni" ]; then
        killall mpv
    else
        stream=$(awk -v s="$scelta" '$2==s{print $1}' <<< "$url_nomi" )
        mpv -cache "$stream" & # inserire ' &' a fine comando per background
fi

Re: ma quant'è utile questo terminale!

Inviato: martedì 18 aprile 2023, 23:09
da UbuNuovo
No, intendevo come messaggio finale, dopo che lo stream è iniziato.
Solo come informazione, da aggiungere qua:

Codice: Seleziona tutto

echo -e "\n${giallo}Grazie per aver usato questo script.${normale}\n"

Re: ma quant'è utile questo terminale!

Inviato: mercoledì 19 aprile 2023, 13:53
da Rapax
Grazie per il consiglio UbuNuovo, ho fatto come hai detto e penso di aver fatto di meglio. Ho creato un file desktop e gli ho associato una icona adesso riesco ad avviare e a spegnere dal menu.
Saluti

Re: ma quant'è utile questo terminale!

Inviato: venerdì 30 giugno 2023, 7:47
da francois285
commento solo per poi ricevere le notifiche... per ora non lo so usare, spero di imparare

Re: ma quant'è utile questo terminale!

Inviato: venerdì 11 agosto 2023, 21:21
da Miner34
Frankenstein ha scritto:
mercoledì 7 gennaio 2009, 17:54

a parte gli scherzi, il terminale è la cosa più utile di tutte! Tanto per dirne una, quando magari scarico dei file da megaupload che sono divisi in più parti... basta un bel

Codice: Seleziona tutto

cat file.zip.part1 file.zip.part2 file.zip.part3 > file.zip
Lo sapevi che basta fare

Codice: Seleziona tutto

file.zip.part1 file.zip.part2 file.zip.part3 > file.zip
perchè linux lo chiama da solo? :) (mi riferisco a cat)

Re: ma quant'è utile questo terminale!

Inviato: martedì 29 agosto 2023, 17:08
da korda
Specchietto caruccio
Immagine

Re: ma quant'è utile questo terminale!

Inviato: giovedì 28 marzo 2024, 11:12
da tonywhite
Utile per chi fa script

Obiettivi:
  1. Eliminare gli spazi iniziali e finali da una stringa
  2. Come la prima, ed elimina anche gli spazi ripetuti
Caratteristiche: dipende esclusivamente da bash e coreutils, senza awk, sed e compagnia bella

Obiettivo 1

Codice: Seleziona tutto

TESTO="   Ciao,    questa è una stringa      sporca con troppi      spazi                "
TESTO="$(echo "${TESTO}" | { read __ ; echo "$__" ; })"

# Mostra il risultato
echo "-${TESTO}-"
Risultato 1

Codice: Seleziona tutto

-Ciao,    questa è una stringa      sporca con troppi      spazi-
Obiettivo 2

Codice: Seleziona tutto

TESTO="   Ciao,    questa è una stringa      sporca con troppi      spazi                "
TESTO="$(echo ${TESTO})"

# Mostra il risultato
echo "-${TESTO}-"
Risultato 2

Codice: Seleziona tutto

-Ciao, questa è una stringa sporca con troppi spazi-