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.

asename<br />

<strong>di</strong>rname<br />

split<br />

csplit<br />

Utility<br />

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

Elimina il percorso del file, visualizzando solamente il suo nome. Il costrutto basename $0<br />

permette allo script <strong>di</strong> conoscere il proprio nome, vale a <strong>di</strong>re, il nome con cui è stato invocato. Si<br />

può usare per i messaggi <strong>di</strong> “utilizzo” se, per esempio, uno script viene eseguito senza argomenti:<br />

echo "Utilizzo: ‘basename $0‘ arg1 arg2 ... argn"<br />

Elimina basename, dal nome del file, visualizzando solamente il suo percorso.<br />

Nota: basename e <strong>di</strong>rname possono operare su una stringa qualsiasi. Non è necessario che<br />

l’argomento si riferisca ad un file esistente e neanche essere il nome <strong>di</strong> un file (ve<strong>di</strong> Esempio<br />

A-7).<br />

Esempio 12-33. basename e <strong>di</strong>rname<br />

#!/bin/bash<br />

a=/home/bozo/daily-journal.txt<br />

echo "Basename <strong>di</strong> /home/bozo/daily-journal.txt = ‘basename $a‘"<br />

echo "Dirname <strong>di</strong> /home/bozo/daily-journal.txt = ‘<strong>di</strong>rname $a‘"<br />

echo<br />

echo "La mia cartella personale è ‘basename ~/‘."<br />

# funziona anche ‘basename ~‘.<br />

echo "La <strong>di</strong>rectory della mia cartella personale è ‘<strong>di</strong>rname ~/‘."<br />

# funziona anche ‘<strong>di</strong>rname ~‘.<br />

exit 0<br />

Utility per sud<strong>di</strong>videre un file in porzioni <strong>di</strong> <strong>di</strong>mensioni minori. Sono solitamente impiegate per<br />

sud<strong>di</strong>videre file <strong>di</strong> gran<strong>di</strong> <strong>di</strong>mensioni allo scopo <strong>di</strong> eseguirne il salvataggio su floppy <strong>di</strong>sk, per<br />

l’invio tramite e-mail o per effettuarne l’upload su un server.<br />

Il comando csplit sud<strong>di</strong>vide il file in base ad un dato criterio. La sud<strong>di</strong>visione viene eseguita nei<br />

punti in cui i modelli sono verificati.<br />

288

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

Saved successfully!

Ooh no, something went wrong!