Cum se scrie într-un fișier în Bash

How Write File Bash



Una dintre sarcinile esențiale pe care le realizăm în timp ce lucrăm cu scripturi bash este citirea și scrierea fișierelor. În acest ghid, ne vom concentra asupra modului de citire a fișierelor în bash și cum să le edităm.

Există mai multe moduri de a citi și scrie un fișier în bash. Cea mai simplă modalitate este folosirea operatorilor> și >>.







  • > operatorul va suprascrie datele existente
  • >> operatorul va adăuga date

Formatul general al utilizării operatorilor de redirecționare este:



Date> Nume fișier
Date >> Nume fișier

Să înțelegem procedura de scriere într-un fișier cu un exemplu:



Cum se scrie un fișier folosind operatori de redirecționare

După cum sa discutat mai sus, abordarea simplă și directă a scrierii într-un fișier utilizează operatori de redirecționare. De exemplu, dacă doriți să modificați textul unui fișier deja existent, atunci creați mai întâi un fișier text cu numele de testfile.txt și scrieți orice în ea:





Salvați fișierul text.



Tastați comanda menționată mai jos în terminal:

$ echo Suprascrierea textului existent în fișierul> testfile.txt

Suprapunerea poate fi riscantă; prin urmare, este o bună practică să activați nocobber. Setarea noclobber ar bloca orice suprascriere la orice fișier care iese.

$ set –o noclobber
$ echo Suprascrierea textului existent în fișierul> testfile.txt

Dar dacă doriți să ocoliți noclobber, utilizați > | operator în loc de > :

$ echo Suprascrierea textului existent în fișier> | testfile.txt

Sau puteți dezactiva pur și simplu noclobber:

$ set + sau noclobber

Dar această comandă va elimina protecția de la toate fișierele.

Ieșirea de mai sus indică faptul că textul existent a fost suprascris. Acum, să folosim >> operator:

$ echo Adăugarea textului la fișierul text existent >> testfile.txt

aruncat nu este întotdeauna ideal de utilizat, deoarece nu puteți formata text folosindu-l, prin urmare utilizați printf în locul ecoului pentru a formata textul, după cum se arată în următoarea comandă:

$ printf Bun venit n Acesta este un fișier text nou. > newtestfile.txt

Să înțelegem conceptul cu un exemplu de script bash. Deschideți Vim tastând vim în terminal. Dacă nu aveți editor Vim pe dispozitiv, instalați-l folosind:

$ sudo apt instalează vim

Tastați scriptul:

#! / bin / bash
ecou Introduceți numele dvs.
citeste numele
echo $ nume> data_dir.txt
ecou Introduceți vârsta dvs.
citeste varsta
echo $ age >> data_dir.txt
cat data_dir.txt

The pisică comanda este utilizată pentru a crea și edita fișierele. Salvați scriptul de mai sus în Vim comutând modul după apăsarea butonului Esc tasta și apoi tastați : în myscript.sh . Deschideți terminalul și rulați codul:

Cum se scrie un fișier folosind Heredoc

Dacă doriți să scrieți mai multe linii, atunci cea mai ușoară metodă este utilizarea Heredoc. Aici documentul, cunoscut și sub numele de Heredoc, este un bloc de coduri multifuncțional. Sintaxa lui Heredoc este:

Comanda<<[-] Delimiter
.
text / comenzi
.

Delimitator

Orice șir poate fi utilizat în locul Delimitatorului și - poate fi folosit și pentru a elimina orice spațiu al filei din fișier. Să o înțelegem folosind un exemplu simplu:

#! / bin / bash

pisică<< TEXTFILE
Acesta este un fișier text.
Acest fișier este creat folosind heredoc.
FISIER TEXT

Comanda de mai sus a scriptului creează un fișier text cu numele TEXTFILE și scrie text în fișierul tocmai creat. Acum salvați fișierul cu numele myscript.sh . Lansați terminalul și rulați scriptul.

Cum se scrie un fișier folosind comanda Tee

O altă metodă pentru a scrie un fișier este utilizarea comenzii Tee. Pe măsură ce numele indică această comandă, intră și scrie într-un fișier și arată ieșirea simultan. În mod implicit, comanda Tee va suprascrie datele existente.

$ echo Acesta este un text | tee textfile.txt

Pentru a adăuga utilizați –a:

$ echo Acesta este un alt text | tee –un textfile.txt

Pentru a scrie mai multe linii, utilizați:

$ echo Adăugarea de text la mai multe fișiere | tee textfile1.txt textfile2.txt textfile3.txt

Comanda de mai sus va crea trei fișiere dacă nu există și va scrie text pentru fiecare dintre ele.

Concluzie

Acest ghid se concentrează pe mai multe abordări pentru a scrie într-un fișier în bash cu exemple. În scriptarea bash, există mai multe moduri de a scrie un fișier, dar cea mai simplă este folosirea operatorilor de redirecționare>, >>. Pentru a scrie mai multe linii, heredoc poate fi folosit și dacă doriți să scrieți aceleași date pe mai multe linii, atunci comanda tee este destul de utilă.