GNU/Linux >> Znalost Linux >  >> Linux

Jak připojím text k souboru?

cat >> filename
This is text, perhaps pasted in from some other source.
Or else entered at the keyboard, doesn't matter. 
^D

V podstatě můžete do souboru uložit libovolný text, který chcete. CTRL-D odešle signál konce souboru, který ukončí vstup a vrátí vás do shellu.


Další možný způsob je:

echo "text" | tee -a filename >/dev/null

-a se připojí na konec souboru.

Pokud potřebujete sudo , použijte:

echo "text" | sudo tee -a filename >/dev/null

Co třeba:

echo "hello" >> <filename>

Pomocí >> operátor připojí data na konec souboru, přičemž použije > přepíše obsah souboru, pokud již existuje.

Můžete také použít printf stejným způsobem:

printf "hello" >> <filename>

Všimněte si, že použití výše uvedeného může být nebezpečné. Pokud například již máte soubor a potřebujete přidat data na konec souboru a zapomenete přidat posledních > všechna data v souboru budou zničena. Toto chování můžete změnit nastavením noclobber proměnná ve vašem .bashrc :

set -o noclobber

Nyní, když se pokusíte udělat echo "hello" > file.txt zobrazí se varování cannot overwrite existing file .

Chcete-li vynutit zápis do souboru, musíte nyní použít speciální syntaxi:

echo "hello" >| <filename>

Měli byste také vědět, že ve výchozím nastavení je echo přidá znak nového řádku na konci, který lze potlačit pomocí -n příznak:

echo -n "hello" >> <filename>

Odkazy

  • echo(1) - Linux man page
  • noclobber variable
  • I/O Redirection

Linux
  1. Jak snadno přidat text na konec souboru v Linuxu

  2. Jak vyčistit přípony souborů?

  3. Jak posunout řádek v textovém souboru nahoru nebo dolů o jeden řádek?

  1. Jak najít nesrovnatelné závorky v textovém souboru?

  2. Jak připojit více řádků k souboru?

  3. Jak převedu volání podprocesu do textového souboru?

  1. Jak vložit text na začátek souboru?

  2. Jak upravit textový soubor v mém terminálu

  3. echo text s novým řádkem v bash