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