Re: String replacement with sed

2004-09-03 Thread Giorgos Keramidas
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

2004-09-03 Thread Alex de Kruijff
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]