I get an error; sed: illegal option -- d usage: sed script [-Ealn] [-i extension] [file ...] sed [-Ealn] [-i extension] [-e script] ... [-f script_file] ... [file ...]
here's my script for i in $(cat /usr/path/test1); do sed -e s#old1#new1\ cut -d, -f 1 ${i}# -e s#old2#cut -d, -f 3 ${i}# file1 > file2 done cat test1 boby, e, 656a, allen, e, 987c, ... ----- Original Message ----- From: "Tino Engel" <[EMAIL PROTECTED]> To: "Halid Faith" <[EMAIL PROTECTED]> Cc: <freebsd-questions@freebsd.org> Sent: Tuesday, December 11, 2007 11:22 PM Subject: Re: How to replace two strings in a file in the same time with sed command ? > Halid Faith schrieb: > > Ok > > But I have another problem, > > I couldn't use any command interior of sed command. That's to say I have a > > script; > > > > yy="file5" > > for i in `cat file1`; > > do > > sed -e 's/old1/new1\ \'$i'/g' -e 's/old2/'cut -d, -f 1 ${yy}'/g' file2 > > > file3 > > done > > > > When I run the script, I get an error, due to using cut command > > > > > > > > > For using environment variables in sed, you have to use # instead of / > > VAR="TEXT" > > sed s#OLD#${VAR}#g file1 > > Will replace OLD by TEXT. Do not use quotations here... > Rg, Tino > _______________________________________________ > freebsd-questions@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-questions > To unsubscribe, send any mail to "[EMAIL PROTECTED]" > _______________________________________________ freebsd-questions@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-questions To unsubscribe, send any mail to "[EMAIL PROTECTED]"