31Aug

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. Si desidera 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, sostituire i nomi dei file nell'esempio precedente con il proprio.

Il contenuto combinato dei tre file di testo verrà visualizzato nel terminale.

In genere, tuttavia, probabilmente si desidera combinare questi 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( & gt;) dopo l'elenco dei file concatenati e quindi specificare il nome del file di testo finale.

cat file1.txt file2.txt file3.txt & gt;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 trovare che contiene il testo dei primi tre file di testo.

Se si combinano elenchi di elementi da più file e si desidera che siano alfabetici nel file combinato, è possibile ordinare gli elementi combinati nel file risultante. Per fare ciò, inserisci il comando cat di base che ti abbiamo mostrato in precedenza seguito dal comando pipe( |) e dal comando sort. Quindi, digita il simbolo di reindirizzamento dell'output( & gt;) seguito dal nome del file in cui desideri copiare il testo combinato. Tutte le righe di testo nel file dei risultati verranno ordinate alfabeticamente.

cat file1.txt file2.txt file3.txt |ordina & gt;file4.txt

Come accennato in precedenza, esiste anche un modo per aggiungere file alla fine di un file esistente. Digitare il comando cat seguito dal file o dai file che si desidera aggiungere alla fine di un file esistente. Quindi, digita due simboli di reindirizzamento dell'output( & gt; & gt;) seguito dal nome del file esistente che desideri aggiungere.

cat file5.txt & gt; & gt;file4.txt

Se si desidera aggiungere un po 'di nuovo testo a un file di testo esistente, si usa il comando cat per farlo direttamente dalla riga di comando( invece di aprirlo in un editor di testo).Digitare il comando cat seguito dal simbolo di reindirizzamento a doppio output( & gt; & gt;) e il nome del file a cui si desidera aggiungere del testo.

cat & gt; & gt;file4.txt

Un cursore apparirà nella 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 fino alla fine del file e uscire da cat.

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. Ad esempio, cat file4.txt |Di meno. Discutiamo usando il comando less in questo articolo.