Faili bash -is lugemiseks ja kirjutamiseks on mitu võimalust. Lihtsaim viis on kasutada operaatoreid> ja >>.
- > operaator kirjutab olemasolevad andmed üle
- >> operaator lisab andmed
Üldine ümbersuunamisoperaatorite kasutamise vorming on järgmine:
Andmed> Faili nimi
Andmed >> Faili nimi
Mõistame failiprotseduurile kirjutamist näitega:
Kuidas kirjutada faili ümbersuunamisoperaatorite abil?
Nagu eespool arutatud, on faili kirjutamise lihtne ja arusaadav lähenemine ümbersuunamisoperaatorite kasutamine. Näiteks kui soovite muuta juba olemasoleva faili teksti, looge esmalt tekstifail nimega testfile.txt ja kirjutage sinna kõik:
Salvestage tekstifail.
Sisestage terminalis alltoodud käsk:
$ echo Faili olemasoleva teksti ülekirjutamine> testfile.txt
Üleväänamine võib olla riskantne; seetõttu on hea tava lubada noclobber. Noclobberi seadistamine blokeeriks väljuva faili ülekirjutamise.
$ set –o noclobber$ echo Faili olemasoleva teksti ülekirjutamine> testfile.txt
Aga kui soovite noclobberist mööda minna, kasutage > | operaatori asemel > :
$ echo Faili olemasoleva teksti ülekirjutamine> | testfile.txtVõi võite lihtsalt noclobberi keelata:
$ set + või noclobber
Kuid see käsk võtab kõikidelt failidelt kaitse ära.
Ülaltoodud väljund näitab, et olemasolev tekst on üle kirjutatud. Kasutame nüüd >> operaator:
$ echo Teksti lisamine olemasolevasse tekstifaili >> testfile.txt
viskas välja ei ole alati ideaalne kasutamiseks, kuna te ei saa teksti kasutades seda vormindada, seetõttu kasutage teksti vormindamiseks kaja asemel printf -i, nagu on näidatud järgmises käsus:
$ printf Tere tulemast n See on uus tekstifail. > newtestfile.txt
Mõistame kontseptsiooni bash -skripti näitega. Avage Vim, tippides terminali vim. Kui teie seadmes pole Vim -redaktorit, installige see, kasutades järgmist.
$ sudo apt install vimSisestage skript:
#! /bin/bashecho Sisestage oma nimi
nime lugeda
echo $ name> data_dir.txt
echo Sisesta oma vanus
loe vanust
echo $ age >> data_dir.txt
kass data_dir.txt
The kass käsku kasutatakse failide loomiseks ja redigeerimiseks. Salvestage ülaltoodud skript Vimis, lülitades režiimi pärast nupu vajutamist Esc klahvi ja seejärel tippige : myscript.sh -s . Avage terminal ja käivitage kood:
Kuidas Heredociga faili kirjutada
Kui soovite kirjutada mitu rida, on lihtsaim viis kasutada Heredocit. Siin on dokument, tuntud ka kui Heredoc, mitmeotstarbeline koodiplokk. Heredoc'i süntaks on järgmine:
Käsk<<[-] Delimiter.
tekst/käsud
.
Eraldaja
Eraldaja asemel saab kasutada mis tahes stringi ja - saab kasutada ka failis olevate tabulaatorite tühikute eemaldamiseks. Mõistame seda lihtsa näite abil:
#! /bin/bashkass<< TEXTFILE
See on tekstifail.
See fail on loodud heredoc abil.
TEKSTIK
Ülaltoodud skripti cat käsk loob tekstifaili nimega TEXTFILE ja kirjutab teksti äsja loodud faili. Nüüd salvestage fail nimega myscript.sh . Käivitage terminal ja käivitage skript.
Kuidas kirjutada faili käsuga Tee
Teine meetod faili kirjutamiseks on käsu Tee kasutamine. Nime tähistav käsk võtab sisendi ja kirjutab faili ning näitab samaaegselt väljundit. Vaikimisi kirjutab Tee käsk olemasolevad andmed üle.
$ echo See on mingi tekst | tee tekstifail.txt
Kasutuse lisamiseks –a:
$ echo See on teine tekst | tee –tekstifail.txt
Mitme rea kirjutamiseks kasutage:
$ echo Teksti lisamine mitmele failile | tee tekstifail1.txt tekstifail2.txt tekstifail3.txt
Ülaltoodud käsk loob kolm faili, kui neid pole olemas, ja kirjutab igale neist teksti.
Järeldus
See juhend keskendub mitmetele lähenemisviisidele, kuidas kirjutada näidetega bash -faili. Bash -skriptimisel on faili kirjutamiseks mitmeid viise, kuid lihtsaim on ümbersuunamisoperaatorite kasutamine>, >>. Mitme rea kirjutamiseks saab kasutada heredocit ja kui soovite kirjutada samu andmeid mitmele reale, on tee käsk üsna mugav.