BASH programiranje

Kako pisati u datoteku u Bashu

Kako pisati u datoteku u Bashu
Jedan od bitnih zadataka koji radimo tijekom rada s bash skriptama je čitanje i pisanje datoteka. U ovom ćemo se vodiču usredotočiti na to kako čitati datoteke u bashu i kako ih uređivati.

Postoji više načina za čitanje i pisanje datoteke na bashu. Najjednostavniji način je upotreba operatora ">" i ">>".

Opći format korištenja operatora preusmjeravanja je:

Podaci> Naziv datoteke
Podaci >> Naziv datoteke

Razumijemo postupak upisivanja u datoteku na primjeru:

Kako napisati datoteku pomoću operatora preusmjeravanja

Kao što je gore spomenuto, jednostavan i neposredan pristup zapisivanju u datoteku koristi se operaterima preusmjeravanja. Na primjer, ako želite promijeniti tekst već postojeće datoteke, prvo stvorite tekstualnu datoteku imenom "ispitna datoteka.txt"I u njega napišite bilo što:

Spremite tekstualnu datoteku.

Utipkajte dolje navedenu naredbu u terminal:

$ echo “Prepisivanje postojećeg teksta u datoteci”> testfile.txt

Preklijetanje može biti rizično; stoga je dobra praksa omogućiti "noclobber". Postavljanje "noclobber" blokiraće bilo koji prepisivanje u bilo koju izlaznu datoteku.

$ set -o noclobber
$ echo “Prepisivanje postojećeg teksta u datoteci”> testfile.txt

Ali ako želite zaobići "noclobber", upotrijebite "> |”Operator umjesto“>”:

$ echo “Prepisivanje postojećeg teksta u datoteci”> | ispitna datoteka.txt

Ili jednostavno možete onemogućiti "noclobber":

$ set + o noclobber

Ali ova će naredba oduzeti zaštitu svim datotekama.

Gornji izlaz pokazuje da je postojeći tekst prepisan. A sada, upotrijebimo ">>”Operator:

$ echo “Dodavanje teksta postojećoj tekstualnoj datoteci” >> testna datoteka.txt

jeka"Nije uvijek idealno za upotrebu jer ne možete formatirati tekst pomoću njega, zato upotrijebite" printf "umjesto" echo "za oblikovanje teksta kao što je pokazano u sljedećoj naredbi:

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

Razumijemo koncept na primjeru bash skripte. Otvorite Vim upisivanjem "vim" u terminal. Ako na uređaju nemate Vim editor, instalirajte ga pomoću:

$ sudo apt instalirati vim

Upišite skriptu:

#! / bin / bash
odjek "Unesite svoje ime"
pročitajte ime
echo $ name> data_dir.txt
odjek "Unesite svoje godine"
čitati dob
odjek $ age >> data_dir.txt
mačka data_dir.txt

"mačkaNaredba ”koristi se za stvaranje i uređivanje datoteka. Spremite gornju skriptu u Vim tako što ćete prebaciti način rada nakon pritiska tipkeEscTipku, a zatim upišite ": w skripta.sh". Otvorite terminal i pokrenite kôd:

Kako napisati datoteku pomoću Heredoca

Ako želite napisati više redaka, tada je najjednostavnija metoda koristiti "Heredoc". Ovdje je dokument, poznat i kao "Heredoc", višenamjenski blok koda. Sintaksa Heredoca je:

Naredba <<[-] Delimiter
.
tekst / naredbe
.

Razdjelnik

Bilo koji niz može se upotrijebiti umjesto "Razdjelnika", a "-" također se može koristiti za uklanjanje bilo kojeg prostora tabulatora u datoteci. Shvatimo to na jednostavnom primjeru:

#! / bin / bash
mačka << TEXTFILE
Ovo je tekstualna datoteka.
Ova datoteka kreirana je pomoću heredoc.
TEKSTIL

Gornja naredba "mačka" skripte stvara tekstualnu datoteku pod nazivom "TEXTFILE" i upisuje tekst u upravo stvorenu datoteku. Sada spremite datoteku pod imenom “tajna.sh". Pokrenite terminal i pokrenite skriptu.

Kako napisati datoteku pomoću naredbe Tee

Druga metoda za pisanje datoteke je upotreba naredbe "Tee". Kao naziv koji označava ovu naredbu uzima ulaz i piše u datoteku te istovremeno prikazuje izlaz. Prema zadanim postavkama naredba "Tee" prebrisat će postojeće podatke.

$ echo "Ovo je neki tekst" | tee tekstualna datoteka.txt

Da biste dodali upotrebu -a:

$ echo "Ovo je drugi tekst" | tee -datoteka s tekstom.txt

Da biste napisali više redaka, upotrijebite:

$ echo "Dodavanje teksta u više datoteka" | tee tekstualna datoteka1.txt tekstualna datoteka2.txt tekstualna datoteka3.txt

Gornja naredba će stvoriti tri datoteke ako ne postoje i napisati tekst u svaku od njih.

Zaključak

Ovaj se vodič usredotočuje na više pristupa pisanju u datoteku u bash s primjerima. U bash skripti postoji više načina za pisanje datoteke, ali najjednostavniji je upotreba operatora preusmjeravanja ">", ">>". Za pisanje više redaka može se koristiti "heredoc", a ako želite zapisati iste podatke u više redaka, tada je naredba "tee" vrlo zgodna.

Najbolje aplikacije za mapiranje gamepada za Linux
Ako volite igrati igre na Linuxu s gamepadom umjesto tipičnim sustavom za unos tipkovnice i miša, za vas postoji nekoliko korisnih aplikacija. Mnoge r...
Korisni alati za Linux igrače
Ako volite igrati igre na Linuxu, velika je vjerojatnost da ste možda koristili aplikacije i uslužne programe poput Wine, Lutris i OBS Studio za pobol...
HD Remastered igre za Linux koje ranije nisu imale Linux izdanje
Mnogi programeri i izdavači igara dolaze s HD remasterom starih igara kako bi produžili životni vijek franšize, molimo obožavatelje da zatraže kompati...