11.04.2013 Views

Guida avanzata di scripting Bash - Portale Posta DMI

Guida avanzata di scripting Bash - Portale Posta DMI

Guida avanzata di scripting Bash - Portale Posta DMI

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

echo "la parte rimanente in minuscolo."<br />

echo "--------------------------------------------"<br />

echo "Esempi: Abandon, Dictionary, Marking, ecc."<br />

exit $E_ERR_ARG<br />

fi<br />

Capitolo 12. Filtri, programmi e coman<strong>di</strong> esterni<br />

if [ -z "$2" ] # Potete specificare un <strong>di</strong>zionario<br />

#+ <strong>di</strong>verso come argomento<br />

#+ dello script.<br />

then<br />

<strong>di</strong>ctfile=$DEFAULT_DICTFILE<br />

else<br />

<strong>di</strong>ctfile="$2"<br />

fi<br />

# ---------------------------------------------------------<br />

Definizione=$(fgrep -A $MAXRIGHE "$1 \\" "$<strong>di</strong>ctfile")<br />

# Definizioni nella forma "Voce \..."<br />

#<br />

# E, sì, "fgrep" è sufficientemente veloce<br />

#+ anche nella ricerca <strong>di</strong> un file <strong>di</strong> testo molto grande.<br />

# Ora seleziona la parte inirente alla definizione.<br />

echo "$Definizione" |<br />

sed -n ’1,/^[A-Z]/p’ |<br />

# Visualizza dalla prima riga della definizione<br />

#+ fino alla prima riga della voce successiva.<br />

sed ’$d’ | sed ’$d’<br />

# Cancellando le ultime due righe<br />

#+ (la riga vuota e la prima riga della voce successiva).<br />

# ---------------------------------------------------------<br />

exit 0<br />

# Esercizi:<br />

# --------<br />

# 1) Mo<strong>di</strong>ficate lo script in modo che accetti un input alfabetico arbitrario<br />

# + (lettere maiuscole, minuscole o alternate) che verrà convertito<br />

# + nel formato usato per l’elaborazione.<br />

#<br />

# 2) Trasformate lo script in un’applicazione GUI,<br />

# + usando qualcosa tipo "g<strong>di</strong>alog" . . .<br />

# Lo script non riceverà più, <strong>di</strong> conseguenza, lo/gli argomento(i)<br />

# + da riga <strong>di</strong> comando.<br />

#<br />

# 3) Mo<strong>di</strong>ficate lo script per una verifica in uno degli altri Dizionari<br />

# + <strong>di</strong> Dominio Pubblico <strong>di</strong>sponibili, quale il U.S. Census Bureau Gazetteer.<br />

260

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!