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

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

comm<br />

echo "ed avere i permessi <strong>di</strong> lettura."<br />

exit $E_NONLEGGIBILE<br />

fi<br />

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

cmp $1 $2 &> /dev/null # /dev/null elimina la visualizzazione del<br />

#+ risultato del comando"cmp".<br />

# cmp -s $1 $2 ottiene lo stesso risultato (opzione "-s" <strong>di</strong> "cmp")<br />

# Grazie Anders Gustavsson per averlo evidenziato.<br />

#<br />

# Funziona anche con ’<strong>di</strong>ff’, vale a <strong>di</strong>re, <strong>di</strong>ff $1 $2 &> /dev/null<br />

if [ $? -eq 0 ] # Verifica l’exit status del comando "cmp".<br />

then<br />

echo "Il file \"$1\" è identico al file \"$2\"."<br />

else<br />

echo "Il file \"$1\" è <strong>di</strong>verso dal file \"$2\"."<br />

fi<br />

exit 0<br />

Suggerimento: Si usa zcmp per i file compressi con gzip.<br />

Versatile utility per il confronto <strong>di</strong> file. I file da confrontare devono essere or<strong>di</strong>nati.<br />

comm -opzioni primo-file secondo-file<br />

comm file-1 file-2 visualizza il risultato su tre colonne:<br />

• colonna 1 = righe uniche appartenenti a file-1<br />

• colonna 2 = righe uniche appartenenti a file-2<br />

• colonna 3 = righe comuni ad entrambi i file.<br />

Alcune opzioni consentono la soppressione <strong>di</strong> una o più colonne <strong>di</strong> output.<br />

• -1 sopprime la colonna 1<br />

• -2 sopprime la colonna 2<br />

• -3 sopprime la colonna 3<br />

• -12 sopprime entrambe le colonne 1 e 2, ecc.<br />

287

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

Saved successfully!

Ooh no, something went wrong!