GNU/Linux >> Znalost Linux >  >> Linux

Bash:Připojit k souboru

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ář.


Linux
  1. Bash Script:Zkontrolujte, zda je soubor textovým souborem?

  2. Jak analyzovat soubor CSV v Bash?

  3. Jak připojím text k souboru?

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

  2. bash skript připojí text k prvnímu řádku souboru

  3. Jak připojit k souboru jako sudo?

  1. Může být Bash skript připojen k souboru?

  2. The Bash ‘?

  3. Provádění operací atomového zápisu v souboru v Bash?