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 This is the line 1. This is the line 2. bash$ tac file1.txt This is the line 2. This is the line 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:
- None Found