Come aggiungere testo alla fine di un file su Linux | Linuxiano.it
Privacy Policy

Come aggiungere testo alla fine di un file su Linux

Come aggiungere-file-su-linux

In questo tutorial, impariamo diversi modi per aggiungere testo alla fine di un file in Linux

Con diversi metodi possiamo aggiungere testi su Linux, ma il più semplice è reindirizzare l’output del comando sul nome del file desiderato. Utilizzando il carattere >> possiamo generare il risultato di qualsiasi comando in un file di testo.

Altri modi in cui ciò può essere ottenuto, è l’utilizzo di strumenti Linux come tee, awk e sed.

Reindirizzare l’output del comando o dei dati alla fine del file

Ogni sistema operativo basato su Unix ha il concetto di “un luogo predefinito per l’output”. Tutti lo chiamano “output standard”, o “stdout“, pronunciato standard out. La tua shell (probabilmente bash o zsh) osserva costantemente quel luogo di output predefinito. Quando la tua shell vede un nuovo output, lo stampa sullo schermo in modo che tu possa vederlo.

Possiamo reindirizzare quell’output su un file usando l’operatore >>.

La procedura è la seguente:

Aggiungi testo alla fine del file usando il comando echo:

Terminale
  • echo ‘sample text line’ >> nomefile.txt

aggiungere-file-su-linux

nel file manager comparirà questa icona

Aggiungi l’output del comando alla fine del file:

Terminale
  • command >> nomefile.txt

Aggiungere righe alla fine del file:

Possiamo aggiungere righe di testo usando questo carattere di reindirizzamento >> oppure possiamo scrivere dati e comandare l’output in un file di testo. Usando questo metodo il file verrà creato se non esiste.

Per esempio:

$ echo “sample line” >> testo.txt
$ cat testo.txt
sample line

$ echo “sample line 2” >> testo.txt
$ cat testo.txt
sample line
sample line 2

Aggiungere risultato all’output dei dati di comando alla fine del file

Possiamo anche aggiungere dati o eseguire il comando e aggiungere l’output al file desiderato. In questo esempio, useremo la data per aggiungere la data corrente a un comando file, uname – che stamperà la versione del kernel del sistema Linux che stiamo usando e infine il comando ls che genera la struttura della directory corrente e l’elenco dei file.
Possiamo utilizzare qualsiasi comando in grado di generare il risultato su un terminale, il che significa quasi tutti gli strumenti da riga di comando in Linux.

$ date >> testo.txt
$ cat testo.txt
sample line
sample line 2
Tue Jun 25 20:28:51 UTC 2019

$ uname -r >> testo.txt
$ cat testo.txt
sample line
sample line 2
Tue Jun 25 20:28:51 UTC 2019
3.13.0-170-generic

$ ls >> testo.txt
$ cat testo.txt
sample line
sample line 2
Tue Jun 25 20:28:51 UTC 2019
3.13.0-170-generic
test.txt

Metodi alternativi

Vediamo come aggiungere usando l’utility Linux tee, awk e sed.

Utilizzo dello strumento da riga di comando tee

Il comando Tee legge l’input standard e lo scrive sia sull’output standard sia su uno o più file. Il comando prende il nome dallo splitter a T utilizzato nell’impianto idraulico. Rompe l’output di un programma in modo che possa essere sia visualizzato che salvato in un file.

$ tee -a test.txt <<< “appended line of text”
[email protected]:~$ cat test.txt
appended line of testo

Usando lo strumento da riga di comando awk

Awk è un’utilità che consente a un programmatore di scrivere piccoli ma efficaci programmi sotto forma di istruzioni che definiscono schemi di testo che devono essere cercati in ciascuna riga di un documento e l’azione che deve essere intrapresa quando viene trovata una corrispondenza all’interno di un linea. Awk viene utilizzato principalmente per la scansione e l’elaborazione di modelli.

$ awk ‘BEGIN{ printf “un altra riga di testo aggiunta” >> “testo.txt” }’
[email protected]:~$ cat testo.txt
un altra riga di testo aggiunta

Utilizzo dello strumento da riga di comando sed

Il comando Sed su Linux sta per stream editor ed è in grado di eseguire molte funzioni su un file come cercare, trovare e sostituire, inserire o eliminare. Usando sed puoi modificare i file anche senza aprirlo, il che è un modo molto più veloce per trovare e sostituire qualcosa nel file.

$ sed -i ‘$ancora un altra linea di testo’ test.txt

[email protected]:~$ cat testo.txt

ancora un altra linea di testo

Aggiungi più righe a un file

Esistono diversi modi per aggiungere più righe contemporaneamente a un file.
Puoi ovviamente aggiungere le righe una per una:

$ echo “linea 1” >> risultato.txt
$ echo “linea 2” >> risultato.txt

La prossima variante è quella di inserire una nuova linea nel terminale:

echo “linea 1
linea 2
linea 3″ >> risultato.txt

Un altro modo è quello di aprire un file e scrivere righe finché non si digita EOT:

$ cat <<EOT >> risultato.txt
linea 1
linea 2
EOT

Conclusione

Sebbene ci siano diversi modi per aggiungere righe di testo o dati e comandi di output a un file, abbiamo visto che il modo più semplice è usare il carattere di reindirizzamento. Ci sono modi per aggiungere il testo alla fine di un numero di riga specifico in un file o nel mezzo di una riga usando regex, ma lo vedremo in qualche altro articolo.

Grazie! per l’utilizzo della Guida di Linuxiano.

Trovi questo tutorial utile? Condividi con i tuoi amici per tenerlo in vita.
Sii il primo a commentare, apprezzo i tuoi suggerimenti. Per ulteriori domande potete commentare qui sotto.

 

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.

Iscriviti al sito

Il tuo nome (richiesto)

La tua email (richiesto)

Oggetto

Il tuo messaggio


Ho letto

l’informativa Privacy

e autorizzo il trattamento dei miei dati personali per le finalità ivi indicate.

Risolvi il reCAPTCHA per dimostrare che non sei un robot:
[recaptcha]

clicca qui per tornare a Linuxiano