Qual è il comando CAT in Linux e come usarlo

Qual è il comando CAT in Linux e come usarlo

Il catcomando è il modo più semplice di Linux per combinare i file insieme. È l’abbreviazione di conCATenation, ma c’è molto di più che copiare e incollare un file accanto all’altro.

Formato di base per il comando CAT

Ecco come si usa normalmente il catcomando:

cat file1 file2 file3 > output

L’ordine di accodamento dei file uno accanto all’altro si basa sull’ordine in cui hai scritto i file all’interno del comando. In questo esempio, quando si apre il file “output”, il contenuto di “file1” sarà seguito da “file2”, quindi da “file3” e così via.

Terminale Linux che combina l'output di File1 File2 e File3 al file di output con i contenuti di output sull'editor di file di testo

Puoi aggiungere tutti i file che desideri purché il tuo filesystem possa supportare la dimensione finale dell’output.

Inoltre, come in tutti i comandi del terminale Linux, dovrai includere l’estensione del file quando li aggiungi. Ad esempio, se stavi lavorando con file JSON e hai intenzione di combinarne due insieme, dovrai digitarlo come Questo:

cat file1.json file2.json > combined_file.json

CAT senza la porzione di uscita

Per cat, la parte di output è facoltativa. La rimozione di questa parte stampa il contenuto di ciascun file nel terminale.

Puoi farlo anche su singoli file. Ricorda che non sarai in grado di modificare il contenuto qui come faresti con i file DOC o TXT su un editor di testo . Il catcomando diventa più simile a un visualizzatore di file di testo che a un editor.

Flag di comando CAT

Ci sono sei flag che puoi usare ogni volta che usi CAT su Linux:

  • -nenumera ogni riga a partire da 1.
  • -benumerare solo le righe che contengono caratteri.
  • -scomprimere più righe vuote consecutive in una riga vuota.
  • -esegnare la fine di ogni riga.
  • -qnon visualizzare un messaggio se CAT non riesce a trovare un file di input.
  • -tvisualizzare i caratteri di tabulazione come ^I.

Vedremo come funziona ognuno e come puoi usarli.

Usando il flag -n

Il -nflag enumera il contenuto di un file per riga e lo stampa sul terminale. Non modifica il file stesso.

cat -n file1.txt

Ma puoi ancora salvare l’output (con enumerazione) facendo questo:

cat -n file1.txt > file2.txt

Terminale Linux Cat Command Flag Flag N

Ciò enumera il contenuto di “file1.txt” e lo salva in “file2.txt”.

Puoi anche enumerare più file insieme. Il catcomando continuerà a contare dopo la fine del primo file. Se il primo file termina con 33, il file successivo inizierà da 34 e così via.

Usando il flag -b

Il problema con il -nflag è che enumera anche le righe vuote. Se avevi un file con molti spazi bianchi per il layout o la leggibilità, avrai -binvece bisogno del flag.

cat -b file1.txt

Terminale Linux Cat Comando Flag B Flag 2

Il formato per la -bbandiera funziona allo stesso modo di quello della -nbandiera. Inoltre, se li usi insieme, il -bflag sovrascriverà il -nflag indipendentemente da come li ordini.

Usando il flag -s

Il -sflag è un altro comodo catflag di comando per quando hai molto spazio bianco nei tuoi file. Funziona riducendo tutti gli spazi bianchi ripetuti in uno solo, il che facilita la leggibilità.

cat -s file2.txt

Terminale Linux Cat Command Flag Flag S

Questo flag cerca almeno 2 righe vuote consecutive prima di unirle. Se il tuo file contiene una singola riga vuota tra due riempite, la salterà e cercherà quella successiva.

Usando il flag -e

Il -eflag trova la fine di ogni riga e aggiunge una $alla fine di ogni riga.

cat -e file1.txt

Terminale Linux Cat Command Flag E Flag

Questo flag semplifica il lavoro con i tuoi file di testo quando utilizzi espressioni regolari o regex . Puoi fare in modo che uno script o un programma aggiuntivo legga il contenuto del file salvato e controlli le estremità usando regex.

Ricorda che il -eflag aggiunge anche un $alla fine di ogni riga vuota, quindi potresti volerlo usare insieme -sper rendere le cose più pulite.

Usando il flag -t

Il -tflag è simile al -eflag, ma cerca invece il “carattere di tabulazione” e lo sostituisce con un ^I. La cosa fantastica di questo flag è che sa come differenziare “tab” dal carattere “doppio spazio”.

cat -t file1.txt > file2.txt

Terminale Linux Cat Command Flag T Flag

Ciò significa che se usi i flag -no -baccanto al -tflag, leggerà i caratteri spazio così come sono e li lascerà stare. Lo stesso vale se aggiungi un sacco di spazi per imitare un carattere “tab”.

Usi del comando CAT di Linux

Il catcomando dovrebbe essere utilizzato solo quando si tenta di combinare i file di testo riga per riga. Non aspettarti che il catcomando prenda due righe di testo e le combini in un’unica riga.

Terminale Linux Hello World tagliato in due righe

D’altra parte, vedrai molto utile per questo quando stai cercando di ripulire i file di testo affinché altri script possano lavorare. I flag -e, -t, -be -ssono tutti abbastanza utili da farti risparmiare tempo dalla codifica del tuo script per qualunque cosa questi flag già facciano.

Aiuta anche a semplificare la visualizzazione dei file di testo rispetto al dover utilizzare sempre l’editor Nano .

Nano Editor Ciao mondo in due righe

Domande frequenti

Cosa succede se utilizzo il comando CAT su un file video?

I file video contengono una cosa chiamata “intestazione”. Questa è un’informazione che mostra come il video è stato codificato. Se usi il comando CAT per concatenare i video, ne rimarrai uno con le informazioni di intestazione inserite tra i dati video codificati. La maggior parte degli spettatori leggerà questo e penserà che il tuo file sia stato danneggiato. È meglio usare uno strumento diverso come FFmpeg per farlo con i file video.

Posso usare il comando Linux CAT con file di cartelle diverse?

Puoi trattare i nomi dei tuoi file come percorsi di cartelle quando combini i file nelle cartelle usando il catcomando. In questo modo, puoi combinare un file in Desktop con un altro da Foto procedendo in questo modo: cat Desktop/file1.txt Photos/Photos.txt >> output.txt.

Cosa succede quando utilizzo il nome file di un file esistente come output per il comando CAT?

A seconda che tu stia utilizzando >o >>, sovrascriverà o aggiungerà il contenuto al file esistente. Il >>comando aggiunge a un file o crea il file se non esiste. Il >comando sovrascrive il file se esiste o lo crea se non esiste.

Per evitare congetture, è sempre meglio salvare l’output in un file inesistente con un nome file univoco.

Lascia un commento

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