Homepage » come » Come combinare file di testo usando il comando cat in Linux

    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.