Re: String replacement with sed
On 2004-09-03 19:37, jd [EMAIL PROTECTED] wrote: I need to change a bunch of Analog config files; among other things change the location of IMAGEDIR. I made this simple script: #!/bin/sh for loop in `ls analog/*` do sed -e '/IMAGEDIR/s/www2.3dresearch.com\/analog_images\//fiordiligi.3dresearch.com\/images\//p' $loop $loop.sed done It works fine, except I get duplicate lines, such as: IMAGEDIRhttp://fiordiligi.3dresearch.com/images/ IMAGEDIRhttp://fiordiligi.3dresearch.com/images/ Remove the trailing 'p' from your substitution pattern or use the same regexp with the -n option of sed, i.e.: $ echo foo bar | sed -e '/foo/ s/foo/FOO/p' FOO bar FOO bar $ echo foo bar | sed -n -e '/foo/ s/foo/FOO/p' FOO bar $ echo foo bar | sed -e '/foo/ s/foo/FOO/' FOO bar $ ___ [EMAIL PROTECTED] mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-questions To unsubscribe, send any mail to [EMAIL PROTECTED]
Re: String replacement with sed
On Fri, Sep 03, 2004 at 07:37:08PM -0400, jd wrote: I need to change a bunch of Analog config files; among other things change the location of IMAGEDIR. I made this simple script: #!/bin/sh for loop in `ls analog/*` do sed -e '/IMAGEDIR/s/www2.3dresearch.com\/analog_images\//fiordiligi.3dresearch.com\/images\//p' $loop $loop.sed done It works fine, except I get duplicate lines, such as: IMAGEDIRhttp://fiordiligi.3dresearch.com/images/ IMAGEDIRhttp://fiordiligi.3dresearch.com/images/ I want just a single line - what do I need to change? Thank you for your insight... You can do this with uniq. I don't now this command so I have to refere you to 'man uniq'. -- Alex ___ [EMAIL PROTECTED] mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-questions To unsubscribe, send any mail to [EMAIL PROTECTED]