Linux

Bash zápis do súboru

Bash zápis do súboru

Jednou z najbežnejších úloh pri písaní skriptov Bash alebo pri práci na príkazovom riadku systému Linux je čítanie a zápis súborov.

Tento článok vysvetľuje, ako písať text do súboru v Bashi pomocou operátorov presmerovania a tričko príkaz.

Zápis do súboru pomocou operátorov presmerovania #

V Bashi presmerovanie výstupu umožňuje zachytiť výstup z príkazu a zapísať ho do súboru.

Všeobecný formát pre presmerovanie a zápis výstupu do súboru je nasledovný:

výstup> názov súboru výstup >> názov súboru 

Musíte mať oprávnenie na zápis do súboru. V opačnom prípade sa zobrazí chyba zamietnutá s povolením.

Tu je jednoduchý príklad, ktorý ukazuje, ako presmeruje výstup súboru ozvena príkaz do súboru:

echo "toto je riadok"> súbor.TXT

Ak chcete zabrániť prepisovaniu existujúcich súborov, povoľte voľbu „noclobber“ pomocou tlačidla nastaviť zabudované:

set -o noclobberecho "toto je riadok"> súbor.TXT
bash: súbor.txt: nie je možné prepísať existujúci súbor 

The > | operátor umožňuje prepísať voľbu Bash „noclobber“:

set -o noclobberecho "toto je riadok"> | spis.TXT

The >> operátor pripojí výstup na koniec súboru, namiesto toho, aby súbor prepísal:

echo "toto je riadok" >> súbor.TXT

Použi printf príkaz na vytvorenie komplexného výstupu:

printf „Dobrý deň, som% s.\ n "$ USER> súbor.TXT

Ak chcete do súboru zapísať viac riadkov, použite presmerovanie dokumentu Here (Heredoc).

Môžete napríklad preniesť obsah do kat príkaz a zapíšeme ho do súboru:

kat << EOF > spis.txt Aktuálny pracovný adresár je: $ PWD Ste prihlásený ako $ (whoami) EOF 

Ak chcete riadky pridať, zmeňte ich > s >> pred názvom súboru:

kat << EOF >> spis.txt Aktuálny pracovný adresár je: $ PWD Ste prihlásený ako $ (whoami) EOF 

Výstup ľubovoľného príkazu môžete zapísať do súboru:

dátum + "Rok:% Y, Mesiac:% m, Deň:% d"> súbor.TXT

Výstupom z dátum príkaz sa zapíše do súboru.

Zápis do súboru pomocou tričko Príkaz #

The tričko príkaz číta zo štandardného vstupu a zapisuje do štandardného výstupu aj do jedného alebo viacerých súborov súčasne.

echo "toto je riadok" | tee súbor.TXT

The tričko predvoleným správaním príkazu je prepísať zadaný súbor, rovnako ako príkaz > operátor. Ak chcete pripojiť výstup do súboru, vyvolajte príkaz pomocou -a (--pridať) možnosť:

echo "toto je riadok" | tee -a súbor.TXT

Ak nechcete tričko Ak chcete zapísať na štandardný výstup, môžete ho presmerovať na / dev / null:

echo "toto je riadok" | tee súbor.txt> / dev / null

Ak chcete text napísať do viac ako jedného súboru, zadajte súbory ako argumenty pre tričko príkaz:

echo "toto je riadok" | tee file_1.súbor txt_2.súbor txt_3.TXT

Ďalšou výhodou tričko príkaz je, že ho môžete použiť v spojení s sudo a zapisovať do súborov vo vlastníctve iných používateľov. Ak chcete pridať text do súboru, do ktorého nemáte oprávnenie na zápis, pridajte predponu sudo predtým tričko:

echo "toto je riadok" | sudo tee súbor.TXT

The ozvena príkazový výstup je odovzdaný ako vstup do tričko, čím sa zvýšia oprávnenia sudo a zapíše text do súboru.

Záver #

V systéme Linux môžete na zápis textu do súboru použiť znak > a >> operátory presmerovania alebo tričko príkaz.

Ak máte akékoľvek otázky alebo spätnú väzbu, neváhajte zanechať komentár.

Hry Najlepšie hry z príkazového riadku pre systém Linux
Najlepšie hry z príkazového riadku pre systém Linux
Príkazový riadok nie je pri použití systému Linux iba vaším najväčším spojencom - môže byť tiež zdrojom zábavy, pretože ho môžete použiť na hranie mno...
Hry Najlepšie aplikácie na mapovanie gamepadu pre Linux
Najlepšie aplikácie na mapovanie gamepadu pre Linux
Ak radi hráte hry v systéme Linux s gamepadom namiesto typického systému vstupu pre klávesnicu a myš, máte tu niekoľko užitočných aplikácií. Mnoho hie...
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...