Date: Wed, 16 Dec 2009 21:04:28 -0700 (MST) From: Warren Block <wblock@wonkity.com> To: Martin McCormick <martin@dc.cis.okstate.edu> Cc: freebsd-questions@freebsd.org Subject: Re: sed -f Script Syntax Message-ID: <alpine.BSF.2.00.0912162052270.98796@wonkity.com> In-Reply-To: <200912170320.nBH3KatB081365@dc.cis.okstate.edu> References: <200912170320.nBH3KatB081365@dc.cis.okstate.edu>
next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, 16 Dec 2009, Martin McCormick wrote: > Warren Block writes: >> sed(1) says it should be -E. Looks like it will only work on the whole >> script. > > Many thanks. I have had -e work many times But -e does not mean what you think here: -E Interpret regular expressions as extended (modern) regular expressions rather than basic regular expressions (BREs). The re_format(7) manual page fully describes both formats. -e command Append the editing commands specified by the command argument to the list of commands. So sed -E means "interpret regular expressions as extended" and -e is followed by a command: sed -E -e 's/a/b/' -e 's/x/y/' > if you call sed from either the command line or a shell script as in > > sed -f somefile > > with somefile being 1 or more lines of sed commands. When the > file itself is the script, the first line actually calls sed > from within the file. I'm not clear on why you want to do it that way instead of simply calling sed from a shell script, but sed -Ef seems to do what you want. -Warren Block * Rapid City, South Dakota USA
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?alpine.BSF.2.00.0912162052270.98796>