Scripting izziv: Multiline field replacer: replace.sh

Rok Krulec Rok.Krulec at fpp.edu
Wed Oct 31 01:28:47 CET 2001


Zivijo,

nekoc sem imel problem kako iz httpd.conf odstraniti vecvrsticni zapis za
dolocen VirtualHost (Rezultat je bil en pameten response Stojana
Rancica=awk), danes sem imel problem, kako v 500 HTML datotekah
zamenjat tocno doloceno vecvrsticno HTML kodo, ki se pojavi v vseh 
datotekah, z drugo HTML kodo.

Ker sem udarjen na bash in na klasicna UniX orodja sem poskusal to
realizirati na ta nacin.

Rezultat prilagam v 380 bytnem attachmentu, ki upam, da mi ga ne zamerite.
Kljub temu, da sem uspesno sklobasal mojih 500 HTML datotek, bi rad slisal
komentar ali pa celo kaksen BUG report.

Rok Krulec

P.S.: Obljubim, da bom kmalu presedlal na python ali perl.

Portoroz, 31.Oct 2001 @ 01:20 CET
Public GnuPG key @ http://rok.fpp.edu/pgp.key
-------------- next part --------------
#!/bin/bash
#
# 20011030 at 2335 Rok.Krulec at codeartists.com
#
# Program replaces multiple ocurences of text between string tokens.
# It is NOT line oriented !!! 

if [ -z "$3" ]; then
   echo 'Usage: replace.sh <BEGIN_TOKEN_RegExp> <END_TOKEN_RegExp> <REPLACE_TOKEN>'
   exit 10
fi

fromdos|sed "s/${1}/
${1}/g"|sed "s/${2}/${2}
/g"|tr "
" "\n"|sed -e "/${1}/,/${2}/c\\" -e "${3}\\"


More information about the lugos-list mailing list