BASH programmēšana

Kā rakstīt failā Bash

Kā rakstīt failā Bash
Viens no būtiskākajiem uzdevumiem, ko veicam, strādājot ar bash skriptiem, ir failu lasīšana un rakstīšana. Šajā rokasgrāmatā mēs koncentrēsimies uz to, kā lasīt failus bash un kā tos rediģēt.

Ir vairāki veidi, kā lasīt un rakstīt failu bash. Vienkāršākais veids ir izmantot operatorus “>” un “>>”.

Pārvirzīšanas operatoru izmantošanas vispārējais formāts ir šāds:

Dati> Faila nosaukums
Dati >> 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.txt

Vai 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 vim

Ierakstiet skriptu:

#! / bin / bash
atbalss “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 / bash
kaķ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.

Bezmaksas un atvērtā koda spēļu dzinēji Linux spēļu izstrādei
Šis raksts aptvers bezmaksas un atvērtā koda spēļu motoru sarakstu, kurus var izmantot, lai izstrādātu 2D un 3D spēles Linux. Šādu spēļu dzinēju ir da...
Tomb Raider for Linux apmācība
Tomb Raider ēna ir divpadsmitais papildinājums Tomb Raider sērijai - darbības piedzīvojumu spēļu franšīzei, kuru izveidoja Eidos Montreal. Spēli gan k...
Kā palielināt FPS Linux?
FPS apzīmē Kadri sekundē. FPS uzdevums ir izmērīt kadru ātrumu video atskaņošanā vai spēļu izrādēs. Vienkāršos vārdos nepārtrauktu pilnekrāna attēlu s...