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.

col<br />

column<br />

colrm<br />

# Si sarebbe potuto fare anche con<br />

# echo $b | fold - -s -w $AMPIEZZA<br />

exit 0<br />

Ve<strong>di</strong> anche Esempio 12-5.<br />

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

Suggerimento: Una potente alternativa a fmt è l’utility par <strong>di</strong> Kamil Toman, <strong>di</strong>sponibile presso<br />

http://www.cs.berkeley.edu/~amc/Par/.<br />

Questo filtro, dal nome fuorviante, rimuove i cosiddetti line feed inversi dal flusso <strong>di</strong> input. Cerca<br />

anche <strong>di</strong> sostituire gli spazi con caratteri <strong>di</strong> tabulazione. L’uso principale <strong>di</strong> col è quello <strong>di</strong> filtrare<br />

l’output proveniente da alcune utility <strong>di</strong> elaborazione <strong>di</strong> testo, come groff e tbl.<br />

Rior<strong>di</strong>na il testo in colonne. Questo filtro trasforma l’output <strong>di</strong> un testo, che apparirebbe come un<br />

elenco, in una “graziosa” tabella, inserendo caratteri <strong>di</strong> tabulazione in posizioni appropriate.<br />

Esempio 12-24. Utilizzo <strong>di</strong> column per impaginare un elenco <strong>di</strong> <strong>di</strong>rectory<br />

#!/bin/bash<br />

# L’esempio seguente corrisponde, con piccole mo<strong>di</strong>fiche, a quello<br />

#+ contenuto nella pagina <strong>di</strong> manuale <strong>di</strong> "column".<br />

(printf "PERMISSIONS LINKS OWNER GROUP SIZE MONTH DAY HH:MM PROG-NAME\n" \<br />

; ls -l | sed 1d) | column -t<br />

# "sed 1d" nella pipe cancella la prima riga <strong>di</strong> output, che sarebbe<br />

#+ "total N",<br />

#+ dove "N" è il numero totale <strong>di</strong> file elencati da "ls -l".<br />

# L’opzione -t <strong>di</strong> "column" visualizza l’output in forma tabellare.<br />

exit 0<br />

Filtro per la rimozione <strong>di</strong> colonne. Elimina le colonne (caratteri) da un file. Il risultato viene<br />

visualizzato allo stdout. colrm 2 4

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

Saved successfully!

Ooh no, something went wrong!