Find & Replace: sed
Comanda sed (stream editor) face transformări de text din mers. Cea mai folosită utilizare a ei este caută și înlocuiește:
sed 's/old/new/' fisier.txt
s vine de la substitute. Aceasta înlocuiește prima apariție a lui old cu
new pe fiecare linie.
Înlocuiește toate aparițiile pe fiecare linie cu g
sed 's/error/WARNING/g' jurnal.txt
g-ul de la final (de la global) înlocuiește fiecare potrivire de pe linie, nu doar
prima.
sed nu modifică fișierul original
Implicit, sed afișează rezultatul la stdout. Fișierul rămâne neschimbat. Ca să-l
salvezi, folosește redirectarea:
sed 's/old/new/g' date.txt > date_reparate.txt
Delimitatori
/ este convenția, dar poți folosi orice caracter:
sed 's|/usr/bin|/opt/bin|g' cai.txt
Folosirea lui | evită să escapezi toate slash-urile.
Misiune: Reparare raport de inspecție
Stația tocmai a trecut reinspectia de siguranță, dar raport.txt mai conține rezultate vechi FAIL din runda anterioară. Căpitanul vrea un raport curat la dosar înainte să sosească delegația.
- Folosește
sedca să înlocuiești toate aparițiile luiFAILcuPASSînraport.txtși afișează raportul corectat. - Salvează raportul corectat într-un fișier nou numit
raport-curat.txt. - Creează un folder numit
arhivași mutăraport-curat.txtîn el. - Numără câte teste afișează acum
PASS.
Rezultat așteptat
arhiva/raport-curat.txt afișează PASS pe fiecare linie de test. Nicio intrare FAIL nu mai rămâne.