Linux

Bash zapis v datoteko

Bash zapis v datoteko

Eno najpogostejših nalog pri pisanju skriptov Bash ali delu v ukazni vrstici Linuxa je branje in pisanje datotek.

V tem članku je razloženo, kako v Bash zapisati besedilo v datoteko z uporabo operaterjev preusmeritve in majica ukaz.

Zapis v datoteko s pomočjo operaterjev preusmeritve #

V storitvi Bash preusmeritev izhoda omogoča zajem izhoda iz ukaza in zapis v datoteko.

Splošna oblika za preusmerjanje in zapisovanje izhodnih podatkov v datoteko je naslednja:

output> ime datoteke output >> ime datoteke 

V datoteko morate imeti dovoljenja za pisanje. V nasprotnem primeru boste prejeli napako, zavrnjeno.

Tu je preprost primer, ki prikazuje, kako preusmerimo izhodne podatke odmev ukaz v datoteko:

echo "to je vrstica"> datoteka.txt

Če želite preprečiti prepisovanje obstoječih datotek, omogočite možnost »noclobber« s nastavite vgrajeno:

set -o noclobberecho "to je vrstica"> datoteka.txt
bash: datoteka.txt: obstoječe datoteke ni mogoče prepisati 

The > | operater vam omogoča, da preglasite možnost Bash "noclobber":

set -o noclobberecho "to je vrstica"> | mapa.txt

The >> operator doda izhod na konec datoteke, namesto da bi jo prepisal:

echo "to je vrstica" >> datoteka.txt

Uporabi printf ukaz za izdelavo kompleksnega izhoda:

printf "Pozdravljeni, jaz sem% s.\ n "$ USER> datoteka.txt

Če želite v datoteko zapisati več vrstic, uporabite preusmeritev Here document (Heredoc).

Vsebino lahko na primer prenesete na mačka ukaz in ga zapišite v datoteko:

mačka << EOF > mapa.txt Trenutni delovni imenik je: $ PWD Prijavljeni ste kot $ (whoami) EOF 

Če želite dodati vrstice, spremenite > s >> pred imenom datoteke:

mačka << EOF >> datoteka.txt Trenutni delovni imenik je: $ PWD Prijavljeni ste kot $ (whoami) EOF 

Izpis katerega koli ukaza lahko zapišete v datoteko:

datum + "Leto:% Y, Mesec:% m, Dan:% d"> datoteka.txt

Rezultat datum ukaz bo zapisan v datoteko.

Pisanje v datoteko z majica Ukaz št

The majica ukaz bere s standardnega vhoda in hkrati zapisuje v standardni izhod in eno ali več datotek.

echo "to je črta" | čajna datoteka.txt

The majica ukaz je privzeto obnašati določeno datoteko, enako kot > operater. Če želite datoteki dodati izhod, pokličite ukaz z -a (--priloži) možnost:

echo "to je črta" | tee-datoteka.txt

Če nočete majica če želite zapisovati v standardni izhod, ga lahko preusmerite na / dev / null:

echo "to je črta" | čajna datoteka.txt> / dev / null

Če želite besedilo zapisati v več datotek, datoteke določite kot argumente majica ukaz:

echo "to je črta" | tee file_1.txt datoteka_2.txt datoteka_3.txt

Še ena prednost majica ukaz je, da ga lahko uporabljate skupaj z sudo in pišite v datoteke, ki so v lasti drugih uporabnikov. Če želite besedilo dodati datoteki, za katero nimate dovoljenj za pisanje, dodajte sudo prej majica:

echo "to je črta" | datoteka sudo tee.txt

The odmev izhod ukaza se posreduje kot vhod v majica, ki zviša dovoljenja za sudo in zapiše besedilo v datoteko.

Zaključek #

V Linuxu za pisanje besedila v datoteko uporabite > in >> preusmerjevalni operaterji ali majica ukaz.

Če imate kakršna koli vprašanja ali povratne informacije, vas prosimo, da pustite komentar.

Kako povečati FPS v Linuxu?
FPS pomeni Število sličic na sekundo. Naloga FPS je merjenje hitrosti sličic pri predvajanju video posnetkov ali igranih predstavah. Z enostavnimi bes...
Najboljše laboratorijske igre Oculus App
Če ste lastnik slušalk Oculus, morate biti seznanjeni s stranskim nalaganjem. Sideloading je postopek namestitve vsebine, ki ni shranjena v slušalke. ...
10 najboljših iger za igranje v Ubuntuju
Platforma Windows je bila ena izmed prevladujočih platform za igre na srečo zaradi velikega odstotka iger, ki se danes razvijajo za naravno podporo si...