Bashi faili lugemiseks ja kirjutamiseks on mitu võimalust. Lihtsaim viis on operaatorite “>” ja “>>” kasutamine.
- Operaator “>” kirjutab olemasolevad andmed üle
- Operaator “>>” lisab andmed
Ümbersuunamisoperaatorite kasutamise üldine vorming on:
Andmed> Faili nimiAndmed >> faili nimi
Mõistame faili kirjutamise protseduuri näite abil:
Faili kirjutamine ümbersuunamisoperaatorite abil
Nagu eespool arutletud, on faili kirjutamise lihtne ja arusaadav lähenemine ümbersuunamisoperaatorite kasutamine. Näiteks kui soovite muuta juba olemasoleva faili teksti, siis kõigepealt looge tekstifail nimega "testfail.txtJa kirjutage sinna ükskõik mis:
Salvestage tekstifail.
Sisestage terminalis allpool nimetatud käsk:
$ echo “Failis oleva teksti ülekirjutamine”> testfail.txt
Üle väänamine võib olla riskantne; seepärast on hea tava võimaldada “nokloberit”. Noclobberi seadistamine blokeerib mis tahes väljuva faili ülekirjutamise.
$ set -o noklobar$ echo "Failis oleva teksti ülekirjutamine"> testfail.txt
Aga kui soovite „noklobarist” mööda hiilida, siis kasutage> |Operaatori asemel>”:
$ echo “Failis oleva teksti ülekirjutamine”> | testfail.txtVõi võite lihtsalt "nokloberi" keelata:
$ set + o noklobar
Kuid see käsk võtab kõigi failide kaitse.
Ülaltoodud väljund näitab, et olemasolev tekst on üle kirjutatud. Kasutame nüüd>>”Operaator:
$ echo “Teksti lisamine olemasolevale tekstifailile” >> testfail.txt
"kaja”Ei ole alati ideaalne kasutada, kuna te ei saa selle abil teksti vormindada, seetõttu kasutage teksti vormindamiseks“ kaja ”asemel teksti“ printf ”, nagu on näidatud järgmises käsus:
$ printf “Tere tulemast \ n See on uus tekstifail.”> Newtestfile.txt
Mõistame mõistet bashi 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 / bashkaja "Sisesta oma nimi"
loe nime
echo $ nimi> data_dir.txt
kaja "Sisesta oma vanus"
loe vanus
echo $ age >> data_dir.txt
kass data_dir.txt
"kass”Käsku kasutatakse failide loomiseks ja redigeerimiseks. Salvestage ülaltoodud skript Vimi, vahetades režiimi pärast nupu “Esc”Ja seejärel tippige“: w myscript.sh”. Avage terminal ja käivitage kood:
Kuidas faili kirjutada Heredoci abil
Kui soovite kirjutada mitu rida, on lihtsaim meetod kasutada Heredoci. Siinne dokument, tuntud ka kui “Heredoc”, on mitmeotstarbeline koodiplokk. Heredoci süntaks on:
Käsk <<[-] Delimiter.
tekst / käsud
.
Piiraja
Ükskõik millist stringi saab kasutada eraldaja kohal ja tähega "-" saab ka failis vahekaardid tühistada. Mõistame seda lihtsa näite abil:
#! / bin / bashkass << TEXTFILE
See on tekstifail.
See fail on loodud heredoci abil.
TEXTFILE
Ülaltoodud skripti käsk „cat” loob tekstifaili nimega „TEXTFILE” ja kirjutab teksti äsja loodud faili. Nüüd salvestage fail nimega “käsikiri.sh”. Käivitage terminal ja käivitage skript.
Kuidas kirjutada faili käsuga Tee
Teine meetod faili kirjutamiseks on käsk Tee. Kuna selle käsu tähistav nimi võtab sisendi, kirjutab faili ja näitab väljundit samaaegselt. Vaikimisi kirjutab käsk Tee tee olemasolevad andmed üle.
$ echo "See on tekst" | tee tekstifail.txt
Lisamiseks kasutage -a:
$ echo "See on teine tekst" | tee -a tekstifail.txt
Mitme rea kirjutamiseks kasutage järgmist
$ echo “Teksti lisamine mitmesse faili” | tee tekstifail1.txt textfile2.txt tekstifail3.txt
Ülaltoodud käsk loob kolm faili, kui neid pole olemas, ja kirjutab igale neist teksti.
Järeldus
Selles juhendis keskendutakse mitmele lähenemisviisile bashi faili kirjutamiseks koos näidetega. Bashi skriptides on faili kirjutamiseks mitu võimalust, kuid lihtsaim on ümbersuunamisoperaatorite “>”, “>>” kasutamine. Mitme rea kirjutamiseks võib kasutada “heredoc” ja kui soovite samu andmeid kirjutada mitmele reale, on käsk “tee” üsna käepärane.