On Jun 19, 2010, at 15:57, Scott Haneda wrote: > On Jun 19, 2010, at 12:39 PM, Joshua Root wrote: > >> On 2010-6-20 05:30 , Rainer Müller wrote: >>> On 2010-06-19 21:05 , Scott Haneda wrote: >>>> sed -e '/_VERSION_HEADER_/$VERSION_HEADER' DOCUMENTATION >>>> sed -e '/_TOKEN_/$DOWNLOAD' DOCUMENTATION >>>> sed -e '/_OTHER_TOKEN_/$ALT_DOWNLOAD' DOCUMENTATION >>> ^ >>> >>> You would need: >>> sed -e 's/_VERSION_HEADER_/$VERSION_HEADER/' DOCUMENTATION >> >> Using single quotes here is also going to stop the variables from being >> substituted > > Thanks. Well, at least it is not just me that is getting stuck on this one. > I have tried the above, with ' and with " to no promising results. > > $cat maker > #!/bin/bash > VERSION_HEADER=`cat VERSION.header` > #echo "$VERSION_HEADER" > > sed -e "s/_VERSION_HEADER_/$VERSION_HEADER/" DOCUMENTATION > > $./maker > sed: 1: "s/_VERSION_HEADER_/# Hi ...": unescaped newline inside substitute > pattern
Yup, sed doesn't do multiline replacements easily. I'd probably write a php or perl script to do this; much more flexible than a shell script. _______________________________________________ macports-dev mailing list [email protected] http://lists.macosforge.org/mailman/listinfo.cgi/macports-dev
