Programování BASH

Jak zapisovat do souboru v Bash

Jak zapisovat do souboru v Bash
Jedním ze základních úkolů, které děláme při práci s bash skriptováním, je čtení a zápis souborů. V této příručce se zaměříme na to, jak číst soubory v bash a jak je upravovat.

Existuje několik způsobů, jak číst a zapisovat do souboru v bash. Nejjednodušší způsob je použití operátorů „>“ a „>>“.

Obecný formát použití operátorů přesměrování je:

Data> Název souboru
Data >> Název souboru

Pochopme postup zápisu do souboru na příkladu:

Jak napsat soubor pomocí operátorů přesměrování

Jak bylo uvedeno výše, jednoduchý a přímý přístup k zápisu do souboru používá operátory přesměrování. Pokud například chcete změnit text již existujícího souboru, nejprve vytvořte textový soubor s názvem „testovací soubor.txt„A napište do něj cokoli:

Uložte textový soubor.

Do terminálu zadejte níže uvedený příkaz:

$ echo „Přepis existujícího textu v souboru“> testovací soubor.txt

Přes ždímání může být riskantní; proto je dobrým zvykem povolit „noclobber“. Nastavení „noclobber“ by zablokovalo přepsání jakéhokoli ukončujícího souboru.

$ set -o noclobber
$ echo „Přepis existujícího textu v souboru“> testovací soubor.txt

Pokud ale chcete obejít „noclobber“, použijte „> |„Operátor místo„>„:

$ echo „Přepis existujícího textu v souboru“> | testovací soubor.txt

Nebo můžete jednoduše vypnout „noclobber“:

$ set + o noclobber

Tento příkaz ale odebere ochranu všem souborům.

Výše uvedený výstup naznačuje, že existující text byl přepsán. Nyní použijeme „>>„Operátor:

$ echo „Přidání textu k existujícímu textovému souboru“ >> testfile.txt

"echo„Není vždy ideální použít, protože pomocí něj nemůžete formátovat text, proto použijte„ printf “místo„ echo “k formátování textu, jak ukazuje následující příkaz:

$ printf „Vítejte \ n Toto je nový textový soubor."> Novysoubor.txt

Pojďme pochopit koncept s příkladem bash skriptu. Otevřete Vim zadáním „vim“ do terminálu. Pokud ve svém zařízení nemáte editor Vim, nainstalujte jej pomocí:

$ sudo apt install vim

Zadejte skript:

#! / bin / bash
echo „Zadejte své jméno“
číst jméno
echo $ name> data_dir.txt
echo „Zadejte svůj věk“
číst věk
echo $ age >> data_dir.txt
cat data_dir.txt

kočka”Příkaz se používá k vytváření a úpravám souborů. Uložte výše uvedený skript do Vim přepnutím režimu po stisknutí “EscKlíč a poté zadejte „: w myscript.sh“. Otevřete terminál a spusťte kód:

Jak napsat soubor pomocí Heredoc

Pokud chcete psát více řádků, nejjednodušší metodou je použití „Heredoc“. Zde je dokument, známý také jako „Heredoc“, víceúčelový blok kódu. Syntaxe Heredoc je:

Příkaz <<[-] Delimiter
.
text / příkazy
.

Oddělovač

Jakýkoli řetězec lze použít místo „Oddělovače“ a „-“ lze také použít k odstranění jakýchkoli mezer v souboru. Pochopme to na jednoduchém příkladu:

#! / bin / bash
kočka << TEXTFILE
Toto je textový soubor.
Tento soubor je vytvořen pomocí heredoc.
TEXTOVÝ SOUBOR

Výše uvedený příkaz „cat“ skriptu vytvoří textový soubor s názvem „TEXTFILE“ a zapíše text do právě vytvořeného souboru. Nyní uložte soubor pod názvem „myscript.sh“. Spusťte terminál a spusťte skript.

Jak napsat soubor pomocí příkazu Tee

Další metodou zápisu souboru je použití příkazu „Tee“. Jako název označující tento příkaz přijímá vstup a zapisuje do souboru a zobrazuje výstup současně. Ve výchozím nastavení příkaz „Tee“ přepíše existující data.

$ echo „Toto je nějaký text“ | tee textový soubor.txt

Chcete-li přidat, použijte -a:

$ echo „Toto je další text“ | tričko - textový soubor.txt

Chcete-li napsat více řádků, použijte:

$ echo „Přidávání textu do více souborů“ | tee textový soubor1.txt textfile2.txt textfile3.txt

Výše uvedený příkaz vytvoří tři soubory, pokud neexistují, a do každého z nich zapíše text.

Závěr

Tato příručka se zaměřuje na více přístupů k zápisu do souboru v bash s příklady. V bash skriptování existuje několik způsobů zápisu souboru, ale nejjednodušší je použití operátorů přesměrování „>“, „>>“. K zápisu více řádků lze použít „heredoc“, a pokud chcete zapsat stejná data na více řádků, je velmi užitečný příkaz „tee“.

Hry Vulkan pro uživatele Linuxu
Vulkan pro uživatele Linuxu
S každou novou generací grafických karet vidíme, že vývojáři her posouvají hranice grafické věrnosti a přibližují se k fotorealismu. Ale navzdory vešk...
Hry OpenTTD vs Simutrans
OpenTTD vs Simutrans
Vytvoření vlastní simulace dopravy může být zábavné, uvolňující a mimořádně lákavé. Proto se musíte ujistit, že vyzkoušíte co nejvíce her, abyste našl...
Hry Výukový program OpenTTD
Výukový program OpenTTD
OpenTTD je jednou z nejpopulárnějších her pro obchodní simulaci. V této hře musíte vytvořit skvělé dopravní podnikání. Začnete však na začátku kolem r...