Nov 012011
 

Dopo molti anni di amministrazione di sistemi Unix/Linux e l’utilizzo di bash per molti compiti ho scoperto il comando tac , il contrario di cat,
Quello che fa questo comando è concatenare e stampare i file in ordine inverso, scrive ogni file sullo standard output, dall’ultima riga alla prima.

bash$ cat file1.txt
Questa è la riga 1.
Questa è la riga 2.
 
bash$ tac file1.txt
Questa è la riga 2.
Questa è la riga 1.



Questo è l’utilizzo di base di tac ma si potrebbe usare anche per altre cose come recuperare un file di testo con un blocco danneggiato:

( cat badfile.log ; tac badfile.log | tac ) > goodfile.log

Quando c’è un blocco danneggiato nel bel mezzo del file, è possibile vedere il suo inizio con `cat ‘e la sua fine con` tac’. Ma entrambi i comandi terminano con un errore. Quindi questa sequenza ricostruisce un nuovo file senza il blocco difettoso.

Un comando simile è rev che copia i file specificati nello standard output, invertendo l’ordine dei caratteri in ogni riga.
Per esempio prendendo l’esempio precedente abbiamo:

bash$ cat file1.txt
Questa è la riga 1.
Questa è la riga 2.
 
bash$ rev file1.txt
.1 agir al è atseuQ
.2 agir al è atseuQ

E naturalmente è possibile combinare i due, per avere un file completamente invertito:

bash$ cat file1.txt
Questa è la riga 1.
Questa è la riga 2.
 
bash$ rev file1.txt | tac
.2 agir al è atseuQ
.1 agir al è atseuQ



Popular Posts:

flattr this!

 Leave a Reply

(required)

(required)


*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>