[ale] sed

Jim Popovitch yahoo at jimpop.com
Thu May 17 22:39:40 EDT 2007


On Thu, 2007-05-17 at 22:34 -0400, James P. Kinney III wrote:
> On Thu, 2007-05-17 at 21:51 -0400, Jim Popovitch wrote:
> > On Thu, 2007-05-17 at 21:44 -0400, Jamey Owens wrote:
> > > One note of caution.  It can be pretty dangerous to try and use the same 
> > > file for input and output.  Lots of shells will leave you with a totally 
> > > empty file using the previous sed command with input & output being equal.
> > 
> > most recent versions of sed support the -i param which allows for
> > inplace (same file) editing/changes.   man sed. ;-)
> 
> so the following _should_ work:
> 
> sed -i 's/abc/xyz/g' <file >file
> 
> BUT ?!?!? it leaves a 0 length file behind.

as it should.   You need to do this:

sed -i -e 's/abc/xyz/g' <file >file

;-)

-Jim P.




More information about the Ale mailing list