Redirezione nel terminale – Parte 2: i filtri

By Jessica Lambiase

shell

Nella scorsa puntata abbiamo introdotto l’interessante argomento della redirezione nel terminale Linux, un aspetto importantissimo per tutti coloro che intendono massimizzare l’esperienza d’uso di questo potente strumento e che, perché no, hanno intenzione di intraprendere la strada dei programmatori/debugger in un prossimo futuro.

Dopo aver dato i cenni basi ed analizzato il comportamento degli operatori angolari e dell’operatore di redirezione doppia, il pipe, oggi andremo a trattare un argomento strettamente utile a quest’ultimo: quello dei filtri. Tramite essi è possibile alterare l’output di qualsiasi comando, cosa che in molteplici occasioni può tornare particolarmente utile.

Redirezione nel terminale: Parte 1 – Angolari e pipe

Redirezione nel terminale: Parte 2 – I filtri (vi trovate qui)

Redirezione nel terminale: Parte 3 File descriptor, standard error ed operazioni complesse (prossimamente)

Redirezione nel terminale – I filtri

Un filtro si specifica immediatamente dopo il pipe (se si intende lavorare sullo standard output, ci ritorneremo nella prossima puntata) ed è possibile usare gli operatori di redirezione per trasferire il suo output in un ulteriore file.

In realtà ciascun filtro è esso stesso un comando bash che, di norma, prende in input un file (o lo standard input, come vedremo in seguito). Ciascun filtro può prevedere anche l’inserimento di parametri che ne alterano il comportamento predefinito: per conoscerli vi consigliamo di consultare la pagina di manuale relativa ad ognuno di essi. Diamo un’occhiata ai filtri più importanti:

sort: è in grado di ordinare e mostrare lo stream di dati passato come input; ad esempio, il comando

cat file_a | sort -n > file_b

E’ in grado di trasferire in file_b numeri presenti in file_a, ordinandoli in modo decrescente.

sort

uniq: spesso usato con sort, è in grado di eliminare le righe uguali dallo stream di dati passato come input.

uniq

grep: già visto ed usato numerose volte, permette di prelevare da uno stream di dati la riga (o le righe) contenente una determinata combinazione di caratteri (specificata come primo parametro) e mostrarla in output.

grep

fmt: legge del testo da uno stream di dati in input ed è in grado di mostrarlo formattato in output.

fmt

pr: altro filtro per la formattazione, è in grado di leggere uno stream di dati in input e mostrarlo suddiviso in pagine con intestazioni e pie’ di pagina; in pratica pr va a formattare l’input in modo printer-friendly.

pr

head: mostra in output le prime righe (numero personalizzabile tramite parametri, il predefinito è 10) dello stream di dati in input.

head

tail: mostra in output le ultime righe (numero personalizzabile tramite parametri, il predefinito è 10) dello stream di dati in input.

tail

tr: trasforma – o, letteralmente, traduce – parti di testo dallo stream di dati passato in input e mostra il risultato in output. Ad esempio, il comando

cat lorem_ipsum | tr [:lower:] [:upper:]

trasformerà tutte le lettere minuscole del file lorem_ipsum in lettere maiuscole, mostrando il risultato su standard output.

tr1

tr2

sed: simile a translate, ma in grado di applicare sostituzioni e trasformazioni più complesse. Ad esempio, il comando

cat canzone | sed /^$/d

cancellerà tutte le righe vuote dal file canzone.

sed

awk: definire awk un semplice filtro è riduttivo poiché, grazie ai suoi numerosissimi parametri, è un intero linguaggio di programmazione progettato per costruire filtri. Come esempio riduttivo, il seguente comando

echo "Chimera Revo" | awk '{print $1}'

stamperà a video la prima parola dell’input, ovvero Chimera.

awk

Anche questa parte della nostra guida è finita: ci ritroveremo presto con la terza ed ultima parte, dedicata ai file descriptor!

L’articolo Redirezione nel terminale – Parte 2: i filtri appare per la prima volta su Chimera Revo – News, guide e recensioni sul Mondo della tecnologia.

Se vuoi sostenerci, puoi farlo acquistando qualsiasi cosa dai diversi link di affiliazione che abbiamo nel nostro sito o partendo da qui oppure alcune di queste distribuzioni GNU/Linux che sono disponibili sul nostro negozio online, quelle mancanti possono essere comunque richieste, e su cui trovi anche PC, NAS e il ns ServerOne. Se ti senti generoso, puoi anche donarmi solo 1€ o più se vuoi con PayPal e aiutarmi a continuare a pubblicare più contenuti come questo. Grazie!

Hai dubbi o problemi? Ti aiutiamo noi!

Se vuoi rimanere sempre aggiornato, iscriviti al nostro canale Telegram.
Se vuoi ricevere supporto per qualsiasi dubbio o problema, iscriviti alla nostra community Facebook o gruppo Telegram.
Cosa ne pensi? Fateci sapere i vostri pensieri nei commenti qui sotto.
Ti piace quello che leggi? Per favore condividilo con gli altri.
Amazon Music
Scopri le ultime offerte per dischi ssd su Acquista su Amazon
Scopri le ultime offerte per memorie RAM DDR su Acquista su Amazon
Scopri le ultime offerte per Chromebook su Acquista su Amazon
Scopri le ultime offerte per Raspberry su Acquista su Amazon

Potrebbero interessarti anche...

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.