Come combinare file di testo usando il comando cat in Linux
Il comando cat è molto utile in Linux. Ha tre funzioni principali relative alla manipolazione dei file di testo: creandoli, visualizzandoli e combinandoli.
Abbiamo discusso utilizzando il comando cat (tra gli altri) per creare e visualizzare file di testo sulla riga di comando in Linux. Ma supponiamo di avere tre file di testo: file1.txt, file2.txt e file3.txt. Vuoi combinare (o concatenare) in un unico file di testo contenente informazioni da tutti e tre, in questo ordine. Puoi farlo anche con il comando cat.
Basta aprire un terminale e digitare il seguente comando:
cat file1.txt file2.txt file3.txt
Ovviamente, sostituisci i nomi dei file nell'esempio sopra con i tuoi.
Il contenuto combinato dei tre file di testo verrà visualizzato nel terminale.
In genere, però, probabilmente vorrai combinare quei file di testo in un altro file di testo, non solo per stampare i risultati sullo schermo. Fortunatamente, questo è molto semplice. Tutto ciò che devi fare è aggiungere un simbolo di reindirizzamento dell'output (>
) dopo l'elenco dei file concatenati e quindi 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, fai attenzione quando specifichi 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 (con il comando cat o con l'editor di testo a tua scelta), dovresti scoprire che contiene il testo dei primi tre file di testo.
Se si uniscono elenchi di elementi di più file e si desidera che siano alfabetici nel file combinato, è possibile ordinare gli elementi combinati nel file risultante. Per fare ciò, inserisci la base gatto
comando che ti abbiamo mostrato in precedenza seguito dal comando pipe (|) e dal comando ordinare
comando. Quindi, digita il simbolo di reindirizzamento dell'output (>
) seguito dal nome del file in cui si desidera copiare il testo combinato. Tutte le righe di testo nel file dei risultati verranno ordinate alfabeticamente.
cat file1.txt file2.txt file3.txt | ordina> file4.txt
Come accennato in precedenza, esiste anche un modo per aggiungere file alla fine di un file esistente. Digitare il gatto
comando seguito dal file o dai file che si desidera aggiungere alla fine di un file esistente. Quindi, digita due simboli di reindirizzamento dell'output (>>
) seguito dal nome del file esistente che si desidera aggiungere.
cat file5.txt >> file4.txt
Se si desidera aggiungere un po 'di nuovo testo a un file di testo esistente, si utilizza il gatto
comando per farlo direttamente dalla riga di comando (invece di aprirlo in un editor di testo). Digitare il gatto
comando seguito dal simbolo di reindirizzamento a doppia uscita (>>
) e il nome del file a cui vuoi aggiungere del testo.
cat >> file4.txt
Un cursore apparirà sulla riga successiva sotto il prompt. Inizia a digitare il testo che desideri aggiungere al file. Quando hai finito, premi Invio dopo l'ultima riga e quindi premi Ctrl + D per copiare quel testo alla fine del file e chiudi gatto.
Se si finisce con un file molto lungo una volta combinati i file di testo, è possibile utilizzare il simbolo pipe con il comando less quando si visualizza il file nella finestra Terminal. Per esempio, cat file4.txt | Di meno
. Discutiamo usando il comando less in questo articolo.