Stojan Rancic wrote: > Bostjan Janezic wrote: > >> Grega Fajdiga je rekel(la): >> >>> sed -e s/charset=Windows-1252/charset=Windows-1250/ *.htm >>> >>> Namesto zamenjave, mi prek zaslona zbrzi vsebina vseh datotek >>> html, zamenjave pa ne naredi. >>> >>> Kaj pocnem narobe? >>> >> Takole pravi eno navodilo za sed: >> >> If you want it to make changes for every word, add a "g" after the last >> delimiter >> and use the work-around: >> >> sed 's/[^ ][^ ]*/(&)/g' <old >new >> Pozabil si "g". :) >> > > Niti ne.. Sed kot tak ti bo output svojega dela vrgel na stdout, od > koder ga moras potem ustrezno redirectati (temporary datoteke, > preimenovanje,.), kot naprimer v spodnjem primeru: > > #!/bin/sh > > for file in $(grep -il "Hello" *.txt) > do > sed -e "s/Hello/Goodbye/ig" $file > /tmp/tempfile.tmp > mv /tmp/tempfile.tmp $file > done > > .. ce pa hoces zadevo resiti elegantno, lahko pa uporabis Perlov in-line > replacement: > > perl -pi -e 's/charset=Windows-1252/charset=Windows-1250/' *.htm > > .. > > lp, Stojan > _______________________________________________ > lugos-list mailing list > [email protected] > http://liste2.lugos.si/cgi-bin/mailman/listinfo/lugos-list > > > sed ima tudi opcijo -i "edit files in place" vendar bodite previdni ko jo uporabljate. Ni poti nazaj.
Lp, I. _______________________________________________ lugos-list mailing list [email protected] http://liste2.lugos.si/cgi-bin/mailman/listinfo/lugos-list
