Situatie
Pentru a face modificările din cadrul unui fisier permanent, puteți scrie modificările dvs. în fișierul original sau le puteți redirecționa către unul nou. Suprascrierea fișierului original necesită o anumită precauție. Dacă este greșită comanda sed, s-ar putea să faceți unele modificări la fișierul original.
Editorul sed poate crea o copie de rezervă a fișierului original înainte de a-și executa comanda.
Solutie
Pasi de urmat
Puteți utiliza opțiunea In-place (-i) pentru a spune lui sed să scrie modificările în fișierul original, dar dacă adăugați o extensie de fișier la acesta, sed va copia fișierul original într-unul nou. Va avea același nume ca și fișierul original, dar cu o nouă extensie de fișier.
Pentru a demonstra, vom căuta toate liniile care conțin „He” și le vom șterge. De asemenea, vom face o copie de rezervă a fișierului nostru original într-unul nou utilizând extensia BAK.
Pentru a face toate acestea, tastăm următoarele:
sed -i'.bak' '/^.*He.*$/d' geeks.txt
Tastăm următoarele pentru a ne asigura că fișierul nostru de rezervă este neschimbat:
cat geeks.txt.bak
De asemenea, putem tasta următoarele pentru a redirecționa ieșirea către un fișier nou și pentru a obține un rezultat similar:
sed -i'.bak' '/^.*He.*$/d' geeks.txt > new_geeks.txt
Folosim cat pentru a confirma că modificările au fost scrise în noul fișier, așa cum se arată mai jos:
cat new_geeks.txt
Leave A Comment?