Programare BASH

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

Cum se scrie într-un fișier în 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 despre modul de editare a acestora.

Există mai multe moduri de a citi și scrie un fișier în bash. Cel mai simplu mod este utilizarea operatorilor „>” și ​​„>>”.

Formatul general de utilizare a 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 orice în ea:

Salvați fișierul text.

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

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

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

$ set -o noclobber
$ echo „Suprascrierea textului existent în fișier”> testfile.txt

Dar dacă doriți să ocoliți „nocobber”, atunci utilizați „> |„Operator în loc de„>”:

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

Sau puteți dezactiva pur și simplu „noclobber”:

$ set + o 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

ecou”Nu este întotdeauna ideal de utilizat, deoarece nu puteți formata text folosindu-l, prin urmare utilizați„ printf ”în locul„ echo ”pentru a formata textul așa cum este demonstrat î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-vă numele”
citeste numele
echo $ nume> date_dir.txt
ecou „Introduceți vârsta”
citeste varsta
echo $ age >> data_dir.txt
cat data_dir.txt

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”, Apoi tastați„: w 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 simplă 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 „Delimitator”, iar „-” 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 „pisică” a scriptului de mai sus 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 utilizarea operatorilor de redirecționare „>”, „>>”. Pentru a scrie mai multe linii, se poate folosi „heredoc” și, dacă doriți să scrieți aceleași date pe mai multe linii, atunci comanda „tee” este destul de utilă.

How to reverse Mouse and Touchpads scrolling direction in Windows 10
Mouse and Touchpads not only make computing easy but more efficient and less time-consuming. We cannot imagine a life without these devices, but still...
How to change Mouse pointer and cursor size, color & scheme on Windows 10
The mouse pointer and cursor in Windows 10 are very important aspects of the operating system. This can be said for other operating systems as well, s...
Motoare de jocuri gratuite și open source pentru dezvoltarea jocurilor Linux
Acest articol va acoperi o listă de motoare de jocuri gratuite și open source care pot fi utilizate pentru dezvoltarea jocurilor 2D și 3D pe Linux. Ex...