androide

Bash: aggiungi al file

Adding fun (emoji) to your terminal in 60 seconds!

Adding fun (emoji) to your terminal in 60 seconds!

Sommario:

Anonim

In Bash, ci sono diversi modi per aggiungere testo a un file. Questo articolo spiega alcuni di essi.

Per aggiungere testo a un file, è necessario disporre delle autorizzazioni di scrittura. Altrimenti, riceverai un errore di autorizzazione negata.

Aggiungi a un file utilizzando l'operatore di reindirizzamento ( >> )

Il reindirizzamento consente di acquisire l'output da un comando e inviarlo come input a un altro comando o file. L'operatore >> reindirizzamento accoda l'output a un determinato file.

Esistono numerosi comandi che è possibile utilizzare per stampare il testo sull'output standard e reindirizzarlo al file, con echo e printf i più utilizzati.

Per aggiungere testo a un file, specificare il nome del file dopo l'operatore di reindirizzamento:

echo "this is a new line" >> file.txt

Se utilizzato con l'opzione -e , il comando echo interpreta i caratteri con escape backslash come newline :

echo -e "this is a new line \nthis is another new line" >> file.txt

Se si desidera produrre output più complessi, utilizzare il comando printf che consente di specificare la formattazione dell'output:

printf "Hello, I'm %s.\n" $USER >> file.txt

Un altro modo per aggiungere testo a un file è usare il documento Here (Heredoc). È un tipo di reindirizzamento che consente di passare più righe di input a un comando.

Ad esempio, è possibile passare il contenuto al comando cat e aggiungerlo a un file:

cat «EOF» file.txt La directory di lavoro corrente è: $ PWD Hai effettuato l'accesso come: $ (whoami) EOF

È possibile aggiungere l'output di qualsiasi comando a un file. Ecco un esempio con il comando date :

date +"Year: %Y, Month: %m, Day: %d" >> file.txt

Quando si aggiunge un file a un reindirizzamento, fare attenzione a non utilizzare l'operatore > per sovrascrivere un file esistente importante.

Aggiungi a un file usando il comando tee

tee è un'utilità della riga di comando in Linux che legge dallo standard input e scrive contemporaneamente sia sullo standard output che su uno o più file.

Per impostazione predefinita, il comando tee sovrascrive il file specificato. Per aggiungere l'output al file usa tee con l'opzione -a ( --append ):

echo "this is a new line" | tee -a file.txt

echo "this is a new line" | tee -a file.txt >/dev/null

Il vantaggio di utilizzare il comando tee sull'operatore >> è che tee consente di aggiungere testo a più file contemporaneamente e di scrivere su file di proprietà di altri utenti insieme a sudo .

Per aggiungere testo a un file per il quale non si dispone delle autorizzazioni di scrittura, anteporre sudo prima del tee come mostrato di seguito:

echo "this is a new line" | sudo tee -a file.txt

tee riceve l'output del comando echo , eleva le autorizzazioni sudo e scrive nel file.

Per aggiungere testo a più di un file, specificare i file come argomenti per il comando tee :

echo "this is a new line" | tee -a file1.txt file2.txt file3.txt

Conclusione

In Linux, per aggiungere testo a un file, utilizzare l'operatore >> reindirizzamento o il comando tee .

bash terminal