Never say "If" writing a Bash script! (Exit codes & logical operators)
Cuprins:
- Adăugați la un fișier utilizând operatorul de redirecționare (
>>) - Se adaugă la un fișier folosind comanda
tee - Concluzie
În Bash, există mai multe modalități de a anexa text la un fișier. Acest articol explică unele dintre ele.
Pentru a adăuga text la un fișier, trebuie să aveți permisiuni de scriere la acesta. În caz contrar, veți primi o eroare refuzată de permis.
Adăugați la un fișier utilizând operatorul de redirecționare (
>>
)
Redirecția vă permite să captați ieșirea dintr-o comandă și să o trimiteți ca intrare către o altă comandă sau fișier.
>>
Operatorul de redirecționare adaugă ieșirea la un fișier dat.
Există o serie de comenzi pe care le puteți utiliza pentru a imprima text la ieșirea standard și a-l redirecționa către fișier,
echo
și
printf
fiind cele mai utilizate.
Pentru a adăuga text la un fișier, specificați numele fișierului după operatorul de redirecționare:
echo "this is a new line" >> file.txt
Când este utilizată cu opțiunea
-e
, comanda
echo
interpretează caracterele scăpate înapoi, cum ar fi newline
:
echo -e "this is a new line \nthis is another new line" >> file.txt
Dacă doriți să produceți o ieșire mai complexă, utilizați comanda
printf
care vă permite să specificați formatarea ieșirii:
printf "Hello, I'm %s.\n" $USER >> file.txt
Un alt mod de a anexa text la un fișier este să folosești documentul Here (Heredoc). Este un tip de redirecție care vă permite să treceți mai multe linii de intrare la o comandă.
De exemplu, puteți trece conținutul la comanda
cat
și să-l anexați la un fișier:
cat «EOF» file.txt Directorul de lucru curent este: $ PWD Sunteți autentificat ca: $ (whoami) EOF
Puteți adăuga ieșirea oricărei comenzi la un fișier. Iată un exemplu cu comanda
date
:
date +"Year: %Y, Month: %m, Day: %d" >> file.txt
Când aplicați un fișier folosind o redirecționare, aveți grijă să nu folosiți operatorul
>
pentru a suprascrie un fișier important existent.
Se adaugă la un fișier folosind comanda
tee
tee
este o utilitate pentru linia de comandă în Linux care citește de la intrarea standard și scrie atât la ieșirea standard, cât și la unul sau mai multe fișiere în același timp.
În mod implicit, comanda
tee
suprascrie fișierul specificat. Pentru a adăuga ieșirea la fișier, utilizați
tee
cu opțiunea
-a
(
--append
):
echo "this is a new line" | tee -a file.txt
echo "this is a new line" | tee -a file.txt >/dev/null
Avantajul utilizării comenzii
tee
asupra
>>
operatorului este că
tee
vă permite să adăugați text la mai multe fișiere simultan și să scrieți fișierele deținute de alți utilizatori împreună cu
sudo
.
Pentru a adăuga text la un fișier la care nu aveți permisiuni de scriere, preplicați
sudo
înainte de
tee
așa cum se arată mai jos:
echo "this is a new line" | sudo tee -a file.txt
tee
primește ieșirea comenzii
echo
, ridică permisiunile sudo și scrie în fișier.
Pentru a adăuga text la mai multe fișiere, specificați fișierele ca argumente la comanda
tee
:
echo "this is a new line" | tee -a file1.txt file2.txt file3.txt
Concluzie
În Linux, pentru a adăuga text la un fișier, utilizați
>>
operator de redirecționare sau comanda
tee
.
U.S. Gov't propune semnătura digitală a fișierului zonei cu rădăcini DNS
Guvernul Statelor Unite solicită comentarii cu privire la modul în care sistemul de adresare a internetului este mai puțin susceptibil de a fi manipulate de către ...
Tipul fișierului, Faceți cunoștință cu aplicația
Edward Tottle dorește să schimbe o aplicație implicită a unui tip de fișier
Judecătorul dăruiește fișierului-Sharer un cadou
Reducerea drepturilor de autor face ambele părți nefericite;







