Ir vairāki veidi, kā lasīt un rakstīt failu bash. Vienkāršākais veids ir izmantot operatorus “>” un “>>”.
- Operators “>” pārrakstīs esošos datus
- Operators “>>” pievienos datus
Pārvirzīšanas operatoru izmantošanas vispārējais formāts ir šāds:
Dati> Faila nosaukumsDati >> Faila nosaukums
Sapratīsim rakstīšanas failā procedūru ar piemēru:
Kā rakstīt failu, izmantojot novirzīšanas operatorus
Kā jau tika apspriests iepriekš, vienkārša un vienkārša pieeja, rakstot failā, izmanto novirzīšanas operatorus. Piemēram, ja vēlaties mainīt jau esoša faila tekstu, vispirms izveidojiet teksta failu ar nosaukumu “testfails.txt”Un ierakstiet tajā jebko:
Saglabājiet teksta failu.
Ierakstiet zemāk minēto komandu terminālā:
$ echo “Failā esošā teksta pārrakstīšana”> testfile.txt
Pārmērīga sagriešanās var būt riskanta; tāpēc ir laba prakse ļaut “noklibinātājam”. Iestatot “noclobber”, tiks bloķēta jebkura iziešanas faila pārrakstīšana.
$ set -o nokliberis$ echo “Failā esošā teksta pārrakstīšana”> testfile.txt
Bet, ja vēlaties apiet “nokliberi”, izmantojiet> |Operatora vietā>”:
$ echo “Failā esošā teksta pārrakstīšana”> | testfails.txtVai arī varat vienkārši atspējot “nokliberi”:
$ set + o noklobers
Bet šī komanda atņems aizsardzību visiem failiem.
Iepriekš minētā izeja norāda, ka esošais teksts ir pārrakstīts. Tagad izmantosim>>”Operators:
$ echo “Teksta pievienošana esošajam teksta failam” >> testfails.txt
“atbalss”Ne vienmēr ir ideāli piemērots lietošanai, jo ar to nevar formatēt tekstu, tāpēc teksta formatēšanai“ atbalss ”vietā izmantojiet“ printf ”, kā parādīts šādā komandā:
$ printf “Laipni lūdzam \ n Šis ir jauns teksta fails.”> Newtestfile.txt
Sapratīsim jēdzienu ar bash skripta piemēru. Atveriet Vim, terminālā ierakstot “vim”. Ja jūsu ierīcē nav Vim redaktora, instalējiet to, izmantojot:
$ sudo apt install vimIerakstiet skriptu:
#! / bin / bashatbalss “Ievadi savu vārdu”
lasīt vārdu
echo $ nosaukums> datu_dir.txt
atbalss “Ievadiet savu vecumu”
lasīšanas vecums
echo $ age >> datu_dir.txt
kaķu datu_dir.txt
“kaķisKomanda ”tiek izmantota, lai izveidotu un rediģētu failus. Saglabājiet iepriekš minēto skriptu Vim, pārslēdzot režīmu pēc “Esc”Un pēc tam ierakstiet“: w myscript.sh”. Atveriet termināli un palaidiet kodu:
Kā rakstīt failu, izmantojot Heredoc
Ja vēlaties rakstīt vairākas rindiņas, vienkāršākā metode ir “Heredoc” izmantošana. Šeit dokuments, kas pazīstams arī kā “Heredoc”, ir daudzfunkcionāls kodu bloks. Heredoc sintakse ir šāda:
Komanda <<[-] Delimiter.
teksts / komandas
.
Norobežotājs
Jebkuru virkni var izmantot “Atdalītāja” vietā, un “-” var izmantot arī, lai noņemtu visas cilnes atstarpes failā. Sapratīsim to, izmantojot vienkāršu piemēru:
#! / bin / bashkaķis << TEXTFILE
Šis ir teksta fails.
Šis fails ir izveidots, izmantojot heredoc.
TEKSTFILS
Iepriekš minētā skripta “cat” komanda izveido teksta failu ar nosaukumu “TEXTFILE” un ieraksta tekstu tikko izveidotajā failā. Tagad saglabājiet failu ar nosaukumu “mans skripts.sh”. Palaidiet termināli un palaidiet skriptu.
Kā rakstīt failu, izmantojot komandu Tee
Vēl viena faila rakstīšanas metode ir komandas “Tee” izmantošana. Kā nosaukums, kas norāda šo komandu, ievada un raksta failā un vienlaikus parāda izvadi. Pēc noklusējuma komanda “Tee” pārrakstīs esošos datus.
$ echo “Šis ir teksts” | tee teksta fails.txt
Lai pievienotu lietojumu -a:
$ echo “Šis ir cits teksts” | tee -a teksta fails.txt
Lai rakstītu vairākas rindas, izmantojiet:
$ echo “Teksta pievienošana vairākiem failiem” | tee teksta fails.txt textfile2.txt textfile3.txt
Iepriekš minētā komanda izveidos trīs failus, ja tādu nav, un rakstīs tekstu katram no tiem.
Secinājums
Šī rokasgrāmata koncentrējas uz vairākām pieejām, lai rakstītu uz failu bash ar piemēriem. Bash skriptos ir vairāki veidi, kā rakstīt failu, bet vienkāršākais ir novirzīšanas operatoru “>”, “>>” izmantošana. Lai rakstītu vairākas rindas, var izmantot “heredoc”, un, ja vēlaties tos pašus datus ierakstīt vairākās rindās, komanda “tee” ir diezgan ērta.