Come combinare file di testo usando il comando “cat” in Linux

  • Lori Kaufman

    @howtogeek

  • Aggiornato il 11 luglio 2017, 9:26pm EDT

00_lead_image_concatenating_files

Il comando cat è molto utile in Linux. Ha tre funzioni principali relative alla manipolazione dei file di testo: crearli, visualizzarli e combinarli.

RELATO: Come creare rapidamente un file di testo usando la riga di comando in Linux

Abbiamo discusso l’uso del comando cat (tra gli altri) per creare e visualizzare file di testo sulla riga di comando in Linux. Ma supponiamo che tu abbia tre file di testo: file1.txt, file2.txt e file3.txt. Volete combinarli (o concatenarli) in un unico file di testo contenente informazioni da tutti e tre, in quest’ordine. Puoi farlo anche con il comando cat.

Apri semplicemente un terminale e digita il seguente comando:

cat file1.txt file2.txt file3.txt

Ovviamente, sostituisci i nomi dei file nell’esempio precedente con i tuoi.

Pubblicità

Il contenuto combinato dei tre file di testo apparirà nel vostro terminale.

01_basic_cat_command

RELATO: Diventa un potente utente del terminale Linux con questi 8 trucchi

Tipicamente, però, vorrai probabilmente combinare questi file di testo in un altro file di testo, non solo stampare i risultati sullo schermo. Fortunatamente, questo è molto semplice. Tutto quello che devi fare è aggiungere un simbolo di reindirizzamento dell’output (>) dopo la lista dei file da concatenare, e poi specificare il nome del file di testo finale.

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

NOTA: Il file elencato dopo il simbolo di reindirizzamento dell’output verrà sovrascritto, se già esiste. Quindi, fate attenzione quando specificate il nome del file di testo combinato. Ti mostreremo più avanti in questo articolo come aggiungere file alla fine di un file esistente.

Se apri file4.txt (o con il comando cat o con un editor di testo di tua scelta), dovresti trovare che contiene il testo dei primi tre file di testo.

02_redirecting_cat_command

Pubblicità

Se stai combinando liste di elementi da più file e vuoi che siano in ordine alfabetico nel file combinato, puoi ordinare gli elementi combinati nel file risultante. Per farlo, inserisci il comando base cat che ti abbiamo mostrato in precedenza, seguito dal comando pipe (|) e dal comando sort. Poi, digitate il simbolo di reindirizzamento dell’output (>) seguito dal nome del file in cui volete copiare il testo combinato. Tutte le linee di testo nel file risultante saranno ordinate in ordine alfabetico.

cat file1.txt file2.txt file3.txt | sort > file4.txt

03_concatenating_and_sorting

Come abbiamo detto prima, c’è anche un modo per aggiungere file alla fine di un file esistente. Digita il comando cat seguito dal file o dai file che vuoi aggiungere alla fine di un file esistente. Poi, digitate due simboli di reindirizzamento dell’output (>>) seguiti dal nome del file esistente che volete aggiungere.

cat file5.txt >> file4.txt

04_appending_a_file_to_end_of_existing_file

Se volete aggiungere un po’ di nuovo testo a un file di testo esistente, si usa il comando cat per farlo direttamente dalla linea di comando (invece di aprirlo in un editor di testo). Digita il comando cat seguito dal doppio simbolo di reindirizzamento dell’output (>>) e dal nome del file a cui vuoi aggiungere del testo.

cat >> file4.txt

Un cursore apparirà sulla prossima linea sotto il prompt. Inizia a digitare il testo che vuoi aggiungere al file. Quando hai finito, premi Invio dopo l’ultima riga e poi premi Ctrl+D per copiare il testo alla fine del file e chiudi cat.

05_appending_a_line_from_the_standard_output

RELATO: Come ottenere aiuto con un comando dal terminale Linux: 8 Trucchi per Principianti & Pro Alike

Pubblicità

Se ti ritrovi con un file molto lungo una volta combinati i tuoi file di testo, puoi usare il simbolo del tubo con il comando less quando visualizzi il file nella finestra del Terminale. Per esempio, cat file4.txt | less. Parliamo dell’uso del comando less in questo articolo.

Lori Kaufman
Lori Kaufman è un’esperta di tecnologia con 25 anni di esperienza. È stata una scrittrice tecnica senior, ha lavorato come programmatrice e ha persino gestito la sua azienda con più sedi.Read Full Bio ”

Lascia un commento

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