Existuje niekoľko spôsobov, ako čítať a zapisovať súbory v bashe. Najjednoduchší spôsob je použitie operátorov „>“ a „>>“.
- Operátor „>“ prepíše existujúce údaje
- Operátor „>>“ pripojí údaje
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.TXTAlebo 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ť vimZadajte skript:
#! / bin / bashecho „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 / bashkat << 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“.