V Bash existuje několik způsobů, jak připojit text k souboru. Tento článek vysvětluje některé z nich.
Chcete-li k souboru připojit text, musíte mít do něj oprávnění k zápisu. V opačném případě se zobrazí chyba oprávnění odepřeno.
Přidat k souboru pomocí operátora přesměrování (>> ) #
Přesměrování vám umožňuje zachytit výstup z příkazu a odeslat jej jako vstup do jiného příkazu nebo souboru. >> Operátor přesměrování připojí výstup k danému souboru.
Existuje řada příkazů, které můžete použít k tisku textu na standardní výstup a jeho přesměrování do souboru pomocí echo a printf jsou nejpoužívanější.
Chcete-li k souboru připojit text, zadejte název souboru za operátorem přesměrování:
echo "this is a new line" >> file.txt
Při použití s -e možnost echo příkaz interpretuje znaky s escapováním zpětného lomítka, jako je nový řádek \n :
echo -e "this is a new line \nthis is another new line" >> file.txt
Chcete-li vytvořit složitější výstup, použijte printf příkaz, který umožňuje určit formátování výstupu:
printf "Hello, I'm %s.\n" $USER >> file.txt Dalším způsobem, jak připojit text k souboru, je použít dokument Here (Heredoc). Je to typ přesměrování, který vám umožňuje předat příkazu více řádků vstupu.
Obsah můžete například předat cat příkaz a připojte jej k souboru:
cat << EOF >> file.txt
The current working directory is: $PWD
You are logged in as: $(whoami)
EOF
Výstup libovolného příkazu můžete připojit k souboru. Zde je příklad s date příkaz:
date +"Year: %Y, Month: %m, Day: %d" >> file.txt
Při přidávání k souboru pomocí přesměrování dávejte pozor, abyste nepoužili > operátor přepíše důležitý existující soubor.
Připojit k souboru pomocí tee Příkaz #
tee je nástroj příkazového řádku v Linuxu, který čte ze standardního vstupu a zapisuje na standardní výstup a jeden nebo více souborů současně.
Ve výchozím nastavení tee příkaz přepíše zadaný soubor. K připojení výstupu k souboru použijte tee pomocí -a (--append ) možnost:
echo "this is a new line" | tee -a file.txt
Pokud nechcete tee pro zápis na standardní výstup jej přesměrujte na /dev/null :
echo "this is a new line" | tee -a file.txt >/dev/null
Výhoda použití tee příkaz přes >> operátor je to tee umožňuje připojit text k více souborům najednou a zapisovat do souborů vlastněných jinými uživateli ve spojení s sudo .
Chcete-li přidat text k souboru, do kterého nemáte oprávnění k zápisu, přidejte před sudo před tee jak je uvedeno níže:
echo "this is a new line" | sudo tee -a file.txt
tee přijímá výstup echo příkaz, zvýší oprávnění sudo a zapíše do souboru.
Chcete-li připojit text k více než jednomu souboru, zadejte soubory jako argumenty do tee příkaz:
echo "this is a new line" | tee -a file1.txt file2.txt file3.txt Závěr č.
V Linuxu k připojení textu k souboru použijte >> operátor přesměrování nebo tee příkaz.
Pokud máte nějaké dotazy nebo zpětnou vazbu, neváhejte zanechat komentář.