Android

Bash: připojit k souboru

Linux - příkazy: cut,split a další příkazy pro filtraci textových souborů.

Linux - příkazy: cut,split a další příkazy pro filtraci textových souborů.

Obsah:

Anonim

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 oprávnění k zápisu. Jinak obdržíte chybu odepřenou.

Připojit k souboru pomocí operátora přesměrování ( >> )

Přesměrování 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 přesměrování do souboru, přičemž nejčastěji používanými jsou echo a printf .

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 ​​volbou -e příkaz echo interpretuje znaky s -e lomítkem, jako je newline :

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 příkaz printf který vám umožní 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). Jedná se o typ přesměrování, který umožňuje předat více příkazů vstupu příkazu.

Můžete například předat obsah příkazu cat a připojit jej k souboru:

cat «EOF» file.txt Aktuální pracovní adresář je: $ PWD Jste přihlášeni jako: $ (whoami) EOF

K souboru můžete připojit výstup libovolného příkazu. Zde je příklad s příkazem date :

date +"Year: %Y, Month: %m, Day: %d" >> file.txt

Při připojování k souboru pomocí přesměrování buďte opatrní, abyste nepoužili operátora > k přepsání důležitého existujícího souboru.

Připojte k souboru pomocí příkazu tee

tee je obslužný program příkazového řádku v systému Linux, 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í příkaz tee přepíše zadaný soubor. Chcete-li připojit výstup k souboru, použijte tee s volbou -a ( --append ):

echo "this is a new line" | tee -a file.txt

echo "this is a new line" | tee -a file.txt >/dev/null

Výhodou použití příkazu tee porovnání s operátorem >> je to, že tee vám umožňuje připojit text do více souborů najednou a zapisovat do souborů vlastněných jinými uživateli ve spojení se sudo .

Chcete-li připojit text k souboru, ke kterému nemáte oprávnění k zápisu, připojte sudo před tee jak je ukázáno níže:

echo "this is a new line" | sudo tee -a file.txt

tee přijímá výstup příkazu echo , zvyšuje oprávnění sudo a zapisuje do souboru.

Chcete-li připojit text k více než jednomu souboru, zadejte soubory jako argumenty k příkazu tee :

echo "this is a new line" | tee -a file1.txt file2.txt file3.txt

Závěr

V Linuxu připojte text k souboru pomocí operátoru >> přesměrování nebo příkazu tee .

bash terminál