BASH programiranje

Kako zapisati v datoteko v Bashu

Kako zapisati v datoteko v Bashu
Eno bistvenih nalog, ki jih opravljamo pri delu z bash skripti, je branje in pisanje datotek. V tem priročniku se bomo osredotočili na to, kako brati datoteke v bash in kako jih urejati.

Obstaja več načinov branja in pisanja datoteke v bash. Najenostavnejši način je uporaba operatorjev “>” in “>>”.

Splošna oblika uporabe operaterjev preusmeritve je:

Podatki> Ime datoteke
Podatki >> Ime datoteke

Razumejmo postopek zapisovanja v datoteko s primerom:

Kako napisati datoteko z uporabo preusmeritvenih operaterjev

Kot smo že omenili, preprost in enostaven pristop pisanja v datoteko uporablja operatorje preusmeritve. Če želite na primer spremeniti besedilo že obstoječe datoteke, najprej ustvarite besedilno datoteko z imenom »testna datoteka.txt"In vanj napišite kar koli:

Shranite besedilno datoteko.

V terminal vnesite spodnji ukaz:

$ echo “Prepis obstoječega besedila v datoteki”> testna datoteka.txt

Prekomerno ožemanje je lahko tvegano; zato je dobra praksa, da omogočimo "noclobber". Če nastavite »noclobber«, bi blokirali kakršno koli prepisovanje v katero koli izhodno datoteko.

$ set -o noclobber
$ echo “Prepis obstoječega besedila v datoteki”> testna datoteka.txt

Če pa želite obiti "noclobber", uporabite "> |"Namesto">":

$ echo “Prepis obstoječega besedila v datoteki”> | testna datoteka.txt

Ali pa preprosto onemogočite “noclobber”:

$ set + o noclobber

Toda ta ukaz bo odvzel zaščito vsem datotekam.

Zgornji izhod kaže, da je bilo obstoječe besedilo prepisano. Zdaj pa uporabimo>>”Operater:

$ echo “Dodajanje besedila obstoječi besedilni datoteki” >> testna datoteka.txt

odmev"Ni vedno idealen za uporabo, ker besedila z njim ne morete formatirati, zato uporabite" printf "namesto" echo "za oblikovanje besedila, kot je prikazano v naslednjem ukazu:

$ printf “Dobrodošli \ n To je nova besedilna datoteka.”> Newtestfile.txt

Razumimo koncept s primerom bash skripta. Odprite Vim, tako da v terminal vnesete »vim«. Če v napravi nimate urejevalnika Vim, ga namestite s pomočjo:

$ sudo apt namestite vim

Vnesite skript:

#! / bin / bash
echo "Vpiši svoje ime"
preberite ime
echo $ name> data_dir.txt
echo "Vnesite svojo starost"
bralna starost
echo $ age >> data_dir.txt
mačka data_dir.txt

mačka"Se uporablja za ustvarjanje in urejanje datotek. Zgornji skript shranite v Vim tako, da preklopite način po pritisku gumba »Esc"In nato vnesite": w skript.sh". Odprite terminal in zaženite kodo:

Kako napisati datoteko s programom Heredoc

Če želite napisati več vrstic, potem je najlažje uporabiti "Heredoc". Tu je dokument, znan tudi kot "Heredoc", večnamenski kodni blok. Sintaksa Heredoca je:

Ukaz <<[-] Delimiter
.
besedilo / ukazi
.

Ločilo

Vsak niz je mogoče uporabiti namesto »Ločilnika«, »-« pa tudi za odstranjevanje vseh prostorov zavihkov v datoteki. Razumimo to na preprostem primeru:

#! / bin / bash
mačka << TEXTFILE
To je besedilna datoteka.
Ta datoteka je ustvarjena s pomočjo heredoc.
TEKSTIL

Zgornji ukaz "mačka" skripta ustvari besedilno datoteko z imenom "TEXTFILE" in zapiše besedilo v pravkar ustvarjeno datoteko. Zdaj datoteko shranite z imenom »skript.sh". Zaženite terminal in zaženite skript.

Kako napisati datoteko z ukazom Tee

Druga metoda za zapis datoteke je uporaba ukaza “Tee”. Kot ime, ki označuje, ta ukaz hkrati vnese in zapiše v datoteko ter prikaže izhod. Privzeto bo ukaz »Tee« prepisal obstoječe podatke.

$ echo “To je nekaj besedila” | tekstovna datoteka tee.txt

Če želite dodati -a:

$ echo “To je drugo besedilo” | tee -besedilna datoteka.txt

Če želite napisati več vrstic, uporabite:

$ echo “Dodajanje besedila v več datotek” | tekstovna datoteka tee.besedilna datoteka txt2.besedilna datoteka txt3.txt

Zgornji ukaz bo ustvaril tri datoteke, če ne obstajajo, in v vsako napisal besedilo.

Zaključek

Ta priročnik se osredotoča na več pristopov za zapisovanje v datoteko v bash s primeri. Pri skriptiranju bash obstaja več načinov za pisanje datoteke, najpreprostejši pa je uporaba operaterjev preusmeritve ">", ">>". Za pisanje več vrstic lahko uporabimo »heredoc« in če želimo iste podatke zapisati v več vrstic, je ukaz »tee« zelo priročen.

Najboljših 5 izdelkov z ergonomsko računalniško miško za Linux
Ali dolgotrajna uporaba računalnika povzroča bolečine v zapestju ali prstih? Ali imate trde sklepe in bi se morali neprestano tresti z rokami? Ali čut...
How to Change Mouse and Touchpad Settings Using Xinput in Linux
Most Linux distributions ship with “libinput” library by default to handle input events on a system. It can process input events on both Wayland and X...
S pomočjo gumba X-Mouse Button Control različno prilagodite gumbe miške za različno programsko opremo
Mogoče potrebujete orodje, ki bi lahko spremenilo nadzor miške z vsako aplikacijo, ki jo uporabljate. V tem primeru lahko preizkusite aplikacijo z ime...