Zamena teksta u fajlu, korišćenjem CLI-a u Linux-u

Naizgled jednostavno, zar ne?
Ali tekst koji menjam nije uvek isti, delovi mu se menjaju, a tekst kojim ga menjam treba da bude u četiri reda.
Dakle malo komplikovanije (a sve vezano za moj raniji post o PHP-u unutar HTML-a).

1. Evo kako se ubacuju wild cards :
# sed -i ‘s/IP telefon: .*, email: .*@moj.domen/BLA/g’ neki.fajl
Dakle kombinacija .* predstavlja bilo kakav string bilo koje veličine
Samo . je bilo koji karakter, ali samo jedan.
2. Kako se ubacuje novi red u tekst kojim vršimo zamenu :
# sed -i ‘s/BLA/ \n \n /g’ test
Gde je \n novi red u tekstu kojim zamenjujemo reč BLA.
I sve ovo lepo radi, ali kada treba da ubacim PHP red kojim se poziva Shell skripta (./skripta.sh) sed se buni i neće…..
3. Ubacivanje sadržaja jednog fajla (u kom je moj PHP skript) u drugi, umesto nekog string-a :
# perl -pe ‘s/BLA/`cat zamena`/ge’ -i test
Gde je test fajl onaj u kom se reč BLA zamenjuje sadržajem iz fajla zamena.
4. I na kraju kada se sve skupi na jedno mesto :
# perl -pe ‘s/IP telefon: .*, email: .*@moj.domen/`cat zamena`/ge’ -i sar-it.html
I naravno da bi PHP skripta unutar HTML fajla radila, ime fajla mora se promeniti u sar-it.php

This entry was posted in Linux and tagged . Bookmark the permalink.

Comments are closed.