Introduzione

Il comando cat è uno dei comandi più utilizzati in Linux. Il nome del comando cat deriva dalla sua funzionalità per concatenare i file. Può leggere e concatenare file, scrivendo i loro contenuti sullo standard output. Se non viene specificato alcun file o se il nome del file di input viene specificato come un singolo trattino  -, viene letto dall'input standard.

Cat è più comunemente usato per visualizzare il contenuto di uno o più file di testo, combinare i file aggiungendo il contenuto di un file alla fine di un altro file o per creare nuovi file.

In questo tutorial, ti mostreremo come usare il comando cat attraverso esempi pratici.

Sintassi del comando Cat

Prima di approfondire l'uso del comando cat, iniziamo esaminando la sintassi di base.

Le espressioni di utilità cat assumono la seguente forma:

cat [OPTIONS] [FILE_NAMES]
  • OPTIONS- Opzioni cat. Utilizzare cat --help per visualizzare tutte le opzioni disponibili.
  • FILE_NAMES - Zero o più nomi di file.

Visualizzare il contenuto del file

L'uso più semplice e comune del comando cat è leggere il contenuto dei file.

Ad esempio, il seguente comando visualizzerà il contenuto del file /etc/issue nel terminale:

cat /etc/issue

Reindirizzare il contenuto del file

Invece di visualizzare l'output su stdout (sullo schermo) è possibile reindirizzarlo su un file.

Il seguente comando consente di copiare il contenuto del file1.txt nel file file2.txt utilizzare l'operatore >:

cat file1.txt > file2.txt

Per esempio:

cat /etc/issue > noviello.txt
Ubuntu 19.10 \n \l 

Normalmente useresti il comando cp per copiare un file.

Se il file noviello.txt non esiste, il comando lo creerà. Altrimenti, sovrascriverà il file.

Utilizzare l' operatore >> per aggiungere il contenuto di file1.txt a file2.txt:

cat file1.txt >> file2.txt

Come in precedenza, se il file non è presente, verrà creato.

Stampare i numeri di riga

Per visualizzare il contenuto di un file con numeri di riga, utilizzare l'opzione -n:

cat -n /etc/lsb-release
1  DISTRIB_ID=Ubuntu                 
2  DISTRIB_RELEASE=19.10  
3  DISTRIB_CODENAME=eoan      
4  DISTRIB_DESCRIPTION="Ubuntu 19.10" 

Eliminare le righe vuote ripetute

Utilizzare l'opzione -s per omettere le righe di output vuote ripetute:

cat -s file.txt

Visualizzare i caratteri TAB

L'opzione -T consente di distinguere visivamente tra schede e spazi.

cat -T /etc/hosts
127.0.0.1^Ilocalhost
127.0.1.1^Iubuntu1910.localdomain

I caratteri TAB verranno visualizzati come ^I.

Visualizzare la fine delle linee

Per visualizzare il carattere di fine riga invisibile utilizzare l'opzione -e:

cat -e /etc/lsb-release
DISTRIB_ID=Ubuntu$
DISTRIB_RELEASE=19.10$
DISTRIB_CODENAME=eoan$
DISTRIB_DESCRIPTION="Ubuntu 19.10"$

Le terminazioni di riga verranno visualizzate come $.

File concatenati

Quando si passano due o più nomi di file come argomenti al comando cat, i contenuti dei file verranno concatenati. cat legge i file nella sequenza indicata nei suoi argomenti e visualizza il contenuto del file nella stessa sequenza.

Ad esempio, il seguente comando legge il contenuto di file1.txt e file2.txt e visualizzare il risultato nel terminale:

cat file1.txt file2.txt

È possibile concatenare due o più file di testo e scriverli in un file.

Il seguente comando concatenerà i contenuti di file1.txt e file2.txt li scriverà in un nuovo file combinedfile.txt usando l'operatore >:

cat file1.txt file2.txt > file_uniti.txt

Se il file file_uniti.txt  non esiste, il comando lo creerà. Altrimenti, sovrascriverà il file.

Per concatenare il contenuto di file1.txt e file2.txt e scrivere il risultato nel file file3.txt utilizzare l'operatore >>:

cat file1.txt file2.txt >> file3.txt

Se il file non è presente, verrà creato.

Quando si concatenano i file con cat, è possibile utilizzare gli stessi argomenti mostrati nella sezione precedente.

Creare un file

Per creare un nuovo file, utilizzare il comando cat seguito dall'operatore di reindirizzamento  >e il nome del file che si desidera creare. Premere Enter, digitare il testo e una volta terminato, premere CRTL+D per salvare il file.

Nel seguente esempio, stiamo creando un nuovo file chiamato file1.txt:

cat > file1.txt

Se file1.txt è presente un file denominato , verrà sovrascritto. Utilizzare l'operatore  >>  per aggiungere l'output a un file esistente.

cat >> file1.txt

Conclusione

Il comando cat può visualizzare, combinare e creare un nuovo file.