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.