Programovanie v jazyku BASH

Ako zapisovať do súboru v Bashi

Ako zapisovať do súboru v Bashi
Jednou z základných úloh, ktoré robíme pri práci so skriptovaním bash, je čítanie a zápis súborov. V tejto príručke sa zameriame na to, ako čítať súbory v bashe a ako ich upravovať.

Existuje niekoľko spôsobov, ako čítať a zapisovať súbory v bashe. Najjednoduchší spôsob je použitie operátorov „>“ a „>>“.

Všeobecný formát používania operátorov presmerovania je:

Údaje> Názov súboru
Údaje >> Názov súboru

Pochopme postup zápisu do súboru na príklade:

Ako napísať súbor pomocou operátorov presmerovania

Ako bolo uvedené vyššie, jednoduchý a priamy prístup k zápisu do súboru využíva operátory presmerovania. Ak napríklad chcete zmeniť text už existujúceho súboru, najskôr vytvorte textový súbor s názvom „skúšobný súbor.TXT”A napíšte do nej čokoľvek:

Uložte textový súbor.

Do terminálu zadajte nižšie uvedený príkaz:

$ echo „Prepísanie existujúceho textu v súbore“> testovací súbor.TXT

Prekrútenie môže byť riskantné; preto je dobrým zvykom povoliť „noclobber“. Nastavenie „noclobber“ by zablokovalo akékoľvek prepisovanie na akýkoľvek ukončujúci sa súbor.

$ set -o noclobber
$ echo „Prepísanie existujúceho textu v súbore“> testovací súbor.TXT

Ale ak chcete obísť „noclobber“, použite> |”Operátor namiesto“>”:

$ echo „Prepísanie existujúceho textu v súbore“> | skúšobný súbor.TXT

Alebo môžete jednoducho vypnúť „noclobber“:

$ set + o noclobber

Tento príkaz ale odoberie ochranu všetkým súborom.

Vyššie uvedený výstup naznačuje, že existujúci text bol prepísaný. Teraz použijeme „>>”Operátor:

$ echo „Pripojenie textu k existujúcemu textovému súboru“ >> testfile.TXT

ozvena“Nie je vždy ideálne použiť, pretože pomocou neho nemôžete formátovať text, preto na jeho formátovanie použite„ printf “namiesto„ echo “, ako to ukazuje nasledujúci príkaz:

$ printf „Vitajte \ n Toto je nový textový súbor.”> Novysoubor.TXT

Poďme pochopiť koncept na príklade skriptu bash. Otvorte Vim zadaním „vim“ do terminálu. Ak vo svojom prístroji nemáte editor Vim, nainštalujte ho pomocou:

$ sudo apt nainštalovať vim

Zadajte skript:

#! / bin / bash
echo „Zadajte svoje meno“
prečítať meno
echo $ name> data_dir.TXT
echo „Zadajte svoj vek“
čítať vek
echo $ age >> data_dir.TXT
mačka data_dir.TXT

katPríkaz ”sa používa na vytvorenie a úpravu súborov. Uložte vyššie uvedený skript do Vimu prepnutím režimu po stlačení „Esc”A zadajte“: w myscript.š“. Otvorte terminál a spustite kód:

Ako napísať súbor pomocou Heredocu

Ak chcete napísať viac riadkov, najjednoduchšou metódou je použitie programu „Heredoc“. Tu je dokument, tiež známy ako „Heredoc“, viacúčelový blok kódu. Syntax Heredocu je:

Velenie <<[-] Delimiter
.
text / príkazy
.

Oddeľovač

Akýkoľvek reťazec je možné použiť namiesto „Oddeľovača“ a „-“ možno tiež použiť na odstránenie akýchkoľvek medzier v súbore. Poďme to pochopiť na jednoduchom príklade:

#! / bin / bash
kat << TEXTFILE
Toto je textový súbor.
Tento súbor je vytvorený pomocou heredoc.
TEXTFILE

Vyššie uvedený príkaz „cat“ vytvorí „textový súbor“ TEXTFILE a zapíše text do práve vytvoreného súboru. Teraz uložte súbor s názvom „myscript.š“. Spustite terminál a spustite skript.

Ako napísať súbor pomocou príkazu Tee

Ďalšou metódou na zápis súboru je použitie príkazu „Tee“. Ako názov označujúci tento príkaz berie vstup a zapisuje do súboru a zobrazuje výstup súčasne. V predvolenom nastavení príkaz „Tee“ prepíše existujúce údaje.

$ echo „Toto je text“ | tee textový súbor.TXT

Ak chcete pridať, použite -a:

$ echo „Toto je ďalší text“ | tričko - textový súbor.TXT

Ak chcete napísať viac riadkov, použite:

$ echo „Pridávanie textu do viacerých súborov“ | tričko textový súbor1.textový súbor txt2.txt textfile3.TXT

Vyššie uvedený príkaz vytvorí tri súbory, ak neexistujú, a do každého z nich napíše text.

Záver

Táto príručka sa zameriava na rôzne prístupy k zápisu do súboru v bashe s príkladmi. V skripte bash existuje niekoľko spôsobov, ako napísať súbor, ale najjednoduchší je použitie operátorov presmerovania „>“, „>>“. Na zápis viacerých riadkov je možné použiť program „heredoc“. Ak chcete napísať rovnaké údaje na viac riadkov, je veľmi užitočný príkaz „tee“.

Hry Užitočné nástroje pre hráčov systému Linux
Užitočné nástroje pre hráčov systému Linux
Ak radi hráte hry v systéme Linux, je pravdepodobné, že ste na vylepšenie herného zážitku použili aplikácie a pomôcky ako Wine, Lutris a OBS Studio. O...
Hry HD remasterované hry pre Linux, ktoré nikdy predtým nemali vydanie Linuxu
HD remasterované hry pre Linux, ktoré nikdy predtým nemali vydanie Linuxu
Mnoho vývojárov a vydavateľov hier prichádza s remastrom starých hier v rozlíšení HD, aby predĺžili životnosť franšízy. Prosím fanúšikov, ktorí požadu...
Hry Ako používať AutoKey na automatizáciu hier pre Linux
Ako používať AutoKey na automatizáciu hier pre Linux
AutoKey je obslužný program na automatizáciu stolných počítačov pre systémy Linux a X11, programovaný v programoch Python 3, GTK a Qt. Pomocou jeho fu...