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.

nl<br />

pr<br />

Cautela<br />

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

Se il file contiene caratteri non visualizzabili, o <strong>di</strong> tabulazione, il risultato<br />

potrebbe essere impreve<strong>di</strong>bile. In tali casi si consideri l’uso, in una pipe,<br />

dei coman<strong>di</strong> expand e unexpand posti prima <strong>di</strong> colrm.<br />

Filtro per l’enumerazione delle righe. nl nomefile visualizza nomefile allo stdout inserendo,<br />

all’inizio <strong>di</strong> ogni riga non vuota, il numero progressivo. Se nomefile viene omesso, l’azione viene<br />

svolta sullo st<strong>di</strong>n..<br />

L’output <strong>di</strong> nl assomiglia molto a quello <strong>di</strong> cat -n, tuttavia, in modo predefinito, nl non<br />

visualizza le righe vuote.<br />

Esempio 12-25. nl: Uno script che numera le proprie righe<br />

#!/bin/bash<br />

# line-number.sh<br />

# Questo script si auto-visualizza due volte con le righe numerate.<br />

# ’nl’ considera questa riga come la nr. 4 perché le righe<br />

#+ vuote vengono saltate.<br />

# ’cat -n’ vede la riga precedente come la numero 6.<br />

nl ‘basename $0‘<br />

echo; echo # Ora proviamo con ’cat -n’<br />

cat -n ‘basename $0‘<br />

# La <strong>di</strong>fferenza è che ’cat -n’ numera le righe vuote.<br />

# Notate che lo stesso risultato lo si ottiene con ’nl -ba’.<br />

exit 0<br />

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

Filtro <strong>di</strong> formato <strong>di</strong> visualizzazione. Impagina i file (o lo stdout) in sezioni adatte alla<br />

visualizzazione su schermo o per la stampa hard copy. Diverse opzioni consentono la gestione <strong>di</strong><br />

righe e colonne come, tra l’altro, abbinare e numerare le righe, impostare i margini, aggiungere<br />

intestazioni ed unire file. Il comando pr riunisce molte delle funzionalità <strong>di</strong> nl, paste, fold, column<br />

e expand.<br />

270

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

Saved successfully!

Ooh no, something went wrong!