Aggiungi testo a un file usando Bash
-
Aggiungi testo a un file con l’operatore di reindirizzamento
>>
-
Aggiungi testo a un file con il comando
tee
Possiamo aggiungere del testo a un file usando l’operatore di reindirizzamento (>>
) e il comando tee
.
Dobbiamo assicurarci di avere autorizzazioni sufficienti per aggiungere testo al file. Se non disponiamo di autorizzazioni sufficienti, potremmo ricevere un errore di autorizzazione negata.
Aggiungi testo a un file con l’operatore di reindirizzamento >>
L’operatore di reindirizzamento >>
preleva l’output dai comandi bash
e aggiunge l’output a un altro file. Ci sono molti modi per stampare il testo sullo standard output, tuttavia echo
e printf
sono i comandi più popolari.
Per aggiungere il testo a un file, scriviamo un comando per stampare il testo usando uno qualsiasi dei comandi di output e poi aggiungiamo l’operatore >>
al comando seguito dal nome del file in cui il testo deve essere aggiunto.
echo "Hello World" >> abc.txt
Questo aggiungerà il testo Hello World
alla fine del file abc.txt
.
Se il file non esiste nella directory di lavoro corrente, il comando creerà un file vuoto e scriverà il testo Hello World
nel file.
Per interpretare i caratteri della sequenza di escape come \n
usiamo l’opzione -e
con il comando echo
.
echo -e "Hello World! \nThis is DelftStack" >> abc.txt
Questo aggiungerà il testo
Hello World!
This is DelftStack
al file abc.txt
.
Per verificare se il testo è stato aggiunto o meno, possiamo usare il comando cat
per visualizzare il contenuto del file.
cat abc.txt
Produzione:
Hello World!
This is DelftStack
Se il testo è stato aggiunto, possiamo vedere il testo alla fine del file.
Se vogliamo più testo formattato, possiamo usare il comando printf
per produrre un output più formattato.
printf "The path of shell interpreter is %s\n" $SHELL >> abc.txt
Aggiunge il testo The path of shell interpreter is /bin/bash
al file abc.txt
.
Aggiungi testo a un file con il comando tee
tee
è un’utilità della riga di comando che prende l’input dallo standard input e lo scrive su uno o più file e lo standard output simultaneamente.
Per impostazione predefinita, il comando tee
sovrascrive il contenuto dei file. Per aggiungere semplicemente il testo alla fine del file, usiamo l’opzione -a
o --append
con il comando.
echo "Hello World!" | tee -a abc.txt
Produzione:
Hello World!
Aggiunge Hello World!
nel file abc.txt
e scrive anche il testo sullo standard output nel terminale.
Se otteniamo un errore di autorizzazione negata durante l’aggiunta del testo a un file, possiamo aggiungere la parola chiave sudo
prima del comando tee
.
echo "Hello World!" | sudo tee -a abc.txt
Se non vogliamo vedere l’output standard, possiamo reindirizzare l’output a /dev/null
echo "Hello World!" | tee -a abc.txt >/dev/null
Un vantaggio dell’utilizzo del comando tee
è che possiamo scrivere il testo su più file contemporaneamente usando il comando tee
. Per scrivere il testo su più file, possiamo semplicemente elencare tutti i file separati da uno spazio.
echo "Hello World!" | sudo tee -a abc.txt backup.txt
Aggiunge il testo a entrambi i file abc.txt
e backup.txt
simultaneamente.
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn