cat
cat (da concatenate) legge uno o più file e ne stampa il contenuto a schermo. Serve anche per unire file e per creare file rapidi da terminale.
Sintassi
cat [opzioni] file...
Esempi base
Mostrare un file:
cat /etc/hostname
Mostrare più file di seguito:
cat file1.txt file2.txt
Opzioni utili
| Opzione | Significato |
|---|---|
-n | Numera tutte le righe |
-b | Numera solo le righe non vuote |
-s | Comprime più righe vuote consecutive in una sola |
-A | Mostra anche i caratteri nascosti ($ a fine riga, ^I per i tab) |
-E | Mostra $ alla fine di ogni riga |
cat -n /etc/fstab
cat -A script.sh
L'opzione -A è comoda per scoprire spazi o tab inattesi e file con terminatori di riga Windows (^M).
Unire file
cat parte1.txt parte2.txt > completo.txt
Aggiungere in coda a un file esistente:
cat altro.txt >> completo.txt
Creare un file da terminale
cat > note.txt
Scrivi il testo e premi Ctrl+D su una riga vuota per terminare.
Con un here-document, utile negli script:
cat > config.conf << 'FINE'
chiave=valore
altra=cosa
FINE
Usarlo con le pipe
cat /var/log/syslog | grep error
Funziona, ma spesso è superfluo: grep error /var/log/syslog fa lo stesso senza un processo in più.
Per file lunghi
cat stampa tutto in una volta. Per file grandi è meglio:
less fileper scorrere avanti e indietro (esci conq)head -n 20 fileper le prime 20 righetail -n 20 fileper le ultime 20 righe
Attenzione
cat > filesovrascrive il file senza chiedere conferma.- Usare
catsu file binari può riempire il terminale di caratteri illeggibili. Se succede, digitareset.