[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: sed substitution that contains forward slash

On Tue, Mar 31, 2009 at 1:37 PM, Craig White <craigwhite azapple com> wrote:
> subtitle...fun with sed
> I have a list of changes to make to a file...
> dc              rc
> -------------   -------
> 15T6145V        DELETED
> NATL19502       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?

I don't think it is sed that is giving you a problem:

$ echo "Q10MR11/FL12V "|sed "s|Q10MR11/FL12V|DELETED|"

Perhaps bash is not resolving your use of the ${dc} and ${rc}
variables as you expect. Since you do not include the full string of
commands and I never use ${}, I don't know what the problem is.

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]