FILTRI
|
 |
Un filtro è un comando che elabora un flusso di dati in input per produrre un flusso di dati in output.
Una linea di comando che include un filtro usa una pipe (|) per
connettere lo standard output di un comando con l'input di un altro.
Possono, inoltre, essere usate consecutivamente più pipe. Ad esempio:
" who | sort | lpr "
Il comando "sort" è un filtro che, in questo esempio, prende lo
standard output del comando "who" lo elabora e redirige il suo
standard output allo standard input del comando "lpr". Praticamente la
linea di comando manda l'output ordinato di who alla stampante (vedi
Standard input, output ed error).
Nella sezione "Comandi fondamentali" abbiamo già incontrato alcuni filtri, quali:
1) sort
2) grep
3) uniq
4) head
5) tail
Esistono, inoltre, due filtri molto potenti quali "sed" e "awk". La
potenza di tali filtri è quella di modificare il contenuto di un file
aggiungendo, eliminando o modificando le informazioni in maniera non interattiva.
Il nome sed è l'abbreviazione di stream editor; tale comando è particolarmente utile quando occorre modificare un file molto grande. Gli editor interattivi (come vi,
vedi Editare file) hanno un limite massimo per le dimensioni del file
da modificare; sed, invece, elabora una linea alla volta e quindi può
essere usato in qualsiasi caso. Per conoscere in dettaglio i comandi di
editing di tale strumento si può far
riferimento alle pagine del manuale on line digitando "man sed".
Il programma awk è utile per effettuare ricerche e trasformare
database. E' possibile usarlo per cercare un nome particolare in un
documento o per aggiungere un nuovo campo a quest'ultimo. Le sue
caratteristiche, infatti, lo rendono particolarmente adatto a lavorare
con file che contengono informazioni strutturate in campi come
inventari, elenchi, database... Per conoscere i comandi di
funzionamento ed avere informazioni particolareggiate di tale programma
si può far riferimento alle pagine del manuale on line digitando "man awk". |
 |
|