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 pagenoclobber variableI/O Redirection