zamenjava neke besede v vseh datotekah imenika
Prva enovrstičnica oz. kako bolje rečti one-liner 🙂
Verjetno moji primeri ne bodo najkrajši, glede na to da za vsako stvar uporabim kar perl, zatorej komaj čakam na komentarje in borbo krajšanja.
Tale bo enostavna, v vseh datotekah v imeniku zamenjati besedilo.
# for i in `ls -1`; do cat $i |perl -ne ‘s/nek_star_string/nov_string/g; print’ >$i.old; mv $i.old $i; done
pri čemer lahko ls -1 zamenjate z ls -1 *.html, če zelite besedilo zamenjati samo v html datotekah.
Če želite narediti enako zamenjavo tudi po vseh podimenikih, ls -1 zamenjate z ustreznim find ukazom, kot recimo find . -name “*.html”.
Toliko zaenkrat, kmalu kaj resnejšega.
S.
Me je kolega Ales takoj popravil, prisparal je par bytov:
for i in `ls -1`;do sed ‘s/old/new/g’ $i >$i.old;mv $i.old $i;done
Se kdo krajsi ? 🙂
s.