Re: sed substitution that contains forward slash



Craig White wrote:
subtitle...fun with sed

I have a list of changes to make to a file...

dc rc
------------- -------
15T6145V DELETED
NATL19502 DELETED
Q10MR11/FL12V DELETED
Q1500T3/CL120 DELETED

and things work until I get to the 3rd item which has a forward slash
and it fails to substitute with commands like below...

sed -i "s%${dc}%${rc}%g" ARsalesorderdetails.csv
and
sed -i "s/${dc}/${rc}/g" ARsalesorderdetails.csv

The latter producing error on screen...
sed: -e expression #1, char 17: unknown option to `s'

While the former simply doesn't complain but doesn't make the change
either.

Is there a way to coerce sed to identify & replace strings with a /
inside?

Craig
The second fails because in the file where there is
a '/' in the stream, sed sees more delimiters such as:

s//Q1500T3/CL120 DELETED/g
========^ (extra delimiter)
and so fails.

Your use of '%" as a sed delimiter works so as long as %
is not part of the sed stream.

--
fedora-list mailing list
fedora-list@xxxxxxxxxx
To unsubscribe: https://www.redhat.com/mailman/listinfo/fedora-list
Guidelines: http://fedoraproject.org/wiki/Communicate/MailingListGuidelines



Relevant Pages