Kā rakstīt failā Bash

How Write File Bash



Viens no galvenajiem uzdevumiem, ko mēs darām, strādājot ar bash skriptu, 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 >>.







  • > operators pārrakstīs esošos datus
  • >> operators pievienos datus

Vispārējais novirzīšanas operatoru izmantošanas formāts ir šāds:



Dati> Faila nosaukums
Dati >> Faila nosaukums

Izprotam rakstīšanas procedūru failam ar piemēru:



Kā uzrakstīt failu, izmantojot novirzīšanas operatorus

Kā minēts iepriekš, vienkārša un vienkārša pieeja rakstīšanai failā ir novirzīšanas operatoru izmantošana. Piemēram, ja vēlaties mainīt jau esoša faila tekstu, vispirms izveidojiet teksta failu ar nosaukumu testfile.txt un ierakstiet tajā visu:





Saglabājiet teksta failu.



Terminālī ierakstiet zemāk minēto komandu:

$ echo Esošā teksta pārrakstīšana failā> testfile.txt

Pārmērīga izgriešana var būt riskanta; tāpēc laba prakse ir iespējot noclobber. Noclobber iestatīšana bloķētu jebkādu pārrakstīšanu uz jebkuru izejošo failu.

$ set –o noclobber
$ echo Esošā teksta pārrakstīšana failā> testfile.txt

Bet, ja vēlaties apiet noclobber, izmantojiet > | operators, nevis > :

$ echo Esošā teksta pārrakstīšana failā> | testfile.txt

Vai arī varat vienkārši atspējot noclobber:

$ set + vai noclobber

Bet šī komanda atņems aizsardzību no visiem failiem.

Iepriekš minētais iznākums norāda, ka esošais teksts ir pārrakstīts. Tagad izmantosim >> operators:

$ echo Teksta pievienošana esošajam teksta failam >> testfile.txt

izmest ārā ne vienmēr ir ideāli piemērots lietošanai, jo jūs nevarat formatēt tekstu, izmantojot to, tāpēc, lai formatētu tekstu, atbalss vietā izmantojiet printf, lai parādītu šo komandu:

$ 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 instalēt vim

Ierakstiet skriptu:

#! /bin/bash
echo Ievadiet savu vārdu
izlasiet nosaukumu
echo $ name> data_dir.txt
echo Ievadiet savu vecumu
lasīt vecumu
echo $ age >> data_dir.txt
kaķis data_dir.txt

The kaķis komandu izmanto, lai izveidotu un rediģētu failus. Saglabājiet iepriekšminēto skriptu Vim, pārslēdzot režīmu pēc nospiešanas Esc taustiņu un pēc tam ierakstiet : myscript.sh . Atveriet termināli un palaidiet kodu:

Kā rakstīt failu, izmantojot Heredoc

Ja vēlaties rakstīt vairākas rindas, vienkāršākais veids ir izmantot Heredoc. Šeit dokuments, kas pazīstams arī kā Heredoc, ir daudzfunkcionāls koda bloks. Heredoc sintakse ir šāda:

Komanda<<[-] Delimiter
.
teksts/komandas
.

Atdalītājs

Atdalītāja vietā var izmantot jebkuru virkni, un - var arī izmantot, lai noņemtu visas tabulācijas atstarpes. Sapratīsim to, izmantojot vienkāršu piemēru:

#! /bin/bash

kaķis<< TEXTFILE
Šis ir teksta fails.
Šis fails ir izveidots, izmantojot heredoc.
TEKSTS

Iepriekš minētā skripta cat komanda izveido teksta failu ar nosaukumu TEXTFILE un ierakstot tekstu tikko izveidotajā failā. Tagad saglabājiet failu ar nosaukumu myscript.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, tā 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 textfile.txt

Lai pievienotu lietojumu –a:

$ echo Šis ir vēl viens teksts | tee - teksta fails.txt

Lai rakstītu vairākas rindas, izmantojiet:

$ echo Teksta pievienošana vairākiem failiem | tee textfile1.txt textfile2.txt textfile3.txt

Iepriekš minētā komanda izveidos trīs failus, ja tie neeksistē, un rakstīs tekstu katram no tiem.

Secinājums

Šī rokasgrāmata koncentrējas uz vairākām metodēm, kā rakstīt failā bash ar piemēriem. Bash skriptos ir vairāki faila rakstīšanas veidi, bet vienkāršākais ir novirzīšanas operatoru izmantošana>, >>. Lai rakstītu vairākas rindas, var izmantot heredoc, un, ja vēlaties ierakstīt tos pašus datus vairākās rindās, komanda tee ir diezgan ērta.