Yra keli būdai, kaip skaityti ir rašyti failą „bash“. Paprasčiausias būdas yra naudoti operatorius> ir >>.
- > operatorius perrašys esamus duomenis
- >> operatorius pridės duomenis
Bendras peradresavimo operatorių naudojimo formatas yra toks:
Duomenys> Failo pavadinimas
Duomenys >> Failo pavadinimas
Supraskime rašymo į failo procedūrą pavyzdį:
Kaip parašyti failą naudojant peradresavimo operatorius
Kaip aptarta aukščiau, paprastas ir paprastas būdas rašyti į failą yra peradresavimo operatorių naudojimas. Pavyzdžiui, jei norite pakeisti jau esamo failo tekstą, pirmiausia sukurkite teksto failą pavadinimu testfile.txt ir parašyk bet ką:
Išsaugokite teksto failą.
Įveskite žemiau nurodytą komandą terminale:
$ echo Esamo teksto perrašymas faile> testfile.txt
Pervertimas gali būti rizikingas; todėl gera praktika yra įgalinti „noclobber“. Nustačius „noclobber“, būtų užblokuotas bet kurio išeitinio failo perrašymas.
$ set –o noclobber$ echo Esamo teksto perrašymas faile> testfile.txt
Bet jei norite apeiti „noclobber“, naudokite > | operatorius, o ne > :
$ echo Esamo teksto perrašymas faile> | testfile.txtArba galite tiesiog išjungti „noclobber“:
$ set + arba noclobber
Tačiau ši komanda atims apsaugą nuo visų failų.
Aukščiau pateikta informacija rodo, kad esamas tekstas buvo perrašytas. Dabar naudokime >> operatorius:
$ echo Teksto pridėjimas prie esamo teksto failo >> testfile.txt
išmetė ne visada idealiai tinka naudoti, nes negalite formatuoti teksto naudodami jį, todėl vietoj aido naudokite printf, kad suformatuotumėte tekstą, kaip parodyta šioje komandoje:
$ printf Sveiki atvykę n Tai naujas teksto failas. > newtestfile.txt
Supraskime koncepciją naudodami „bash“ scenarijaus pavyzdį. Atidarykite „Vim“ terminale įvesdami „vim“. Jei jūsų prietaise nėra „Vim“ redaktoriaus, įdiekite jį naudodami:
$ sudo apt install vimĮveskite scenarijų:
#! /bin/bashecho Įveskite savo vardą
perskaityk pavadinimą
echo $ name> data_dir.txt
echo Įveskite savo amžių
skaityti amžių
echo $ age >> data_dir.txt
cat data_dir.txt
The katė komanda naudojama failams kurti ir redaguoti. Išsaugokite aukščiau pateiktą scenarijų „Vim“ perjungdami režimą, paspaudę Esc klavišą ir įveskite : myscript.sh . Atidarykite terminalą ir paleiskite kodą:
Kaip parašyti failą naudojant „Heredoc“
Jei norite parašyti kelias eilutes, paprasčiausias būdas yra naudoti „Heredoc“. Čia dokumentas, dar žinomas kaip „Heredoc“, yra daugiafunkcinis kodo blokas. Heredoc sintaksė yra tokia:
Komanda<<[-] Delimiter.
tekstas/komandos
.
Skyriklis
Bet kuri eilutė gali būti naudojama vietoj skiriamųjų ženklų, o taip pat - galima pašalinti bet kokias skirtuko vietas tarp failo. Supraskime tai naudodami paprastą pavyzdį:
#! /bin/bashkatė<< TEXTFILE
Tai tekstinis failas.
Šis failas sukurtas naudojant heredoc.
TEXTFILE
Aukščiau pateikta scenarijaus katės komanda sukuria teksto failą TEXTFILE pavadinimu ir įrašo tekstą į ką tik sukurtą failą. Dabar išsaugokite failą pavadinimu myscript.sh . Paleiskite terminalą ir paleiskite scenarijų.
Kaip parašyti failą naudojant komandą Tee
Kitas būdas rašyti failą yra komanda Tee. Pavadinimas, nurodantis šią komandą, įveda ir rašo į failą ir tuo pačiu metu rodo išvestį. Pagal numatytuosius nustatymus komanda Tee perrašys esamus duomenis.
$ echo Tai yra tekstas | tee textfile.txt
Norėdami pridėti naudojimą –a:
$ echo Tai dar vienas tekstas | tee - teksto failas.txt
Norėdami parašyti kelias eilutes, naudokite:
$ echo Teksto pridėjimas prie kelių failų | tee textfile1.txt textfile2.txt textfile3.txt
Aukščiau pateikta komanda sukurs tris failus, jei jų nėra, ir rašys tekstą į kiekvieną iš jų.
Išvada
Šiame vadove daugiausia dėmesio skiriama keliems būdams rašyti į failą „bash“ su pavyzdžiais. Naudojant „bash“ scenarijus, yra keli failo rašymo būdai, tačiau paprasčiausias yra peradresavimo operatoriai>, >>. Norėdami parašyti kelias eilutes, galite naudoti heredoc, o jei norite įrašyti tuos pačius duomenis į kelias eilutes, komanda tee yra gana patogi.