Re: sed substitution that contains forward slash

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

 



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.

Hmm, it should work using a delimeter other than '/' or escaping the
'/'.  Escaping the '/' is a bit more of a pain than just changing
delimeters, as long as you know that whatever delimeter you pick won't
be in the strings you are substituting.

It seems to work for me:

$ dc="Q10MR11/FL12V"; rc=DELETED; echo "dc=${dc}"; echo "rc=${rc}"; \
  echo "This is some Q10MR11/FL12V text." | sed "s%${dc}%${rc}%g"
dc=Q10MR11/FL12V
rc=DELETED
This is some DELETED text.

-- 
Todd        OpenPGP -> KeyID: 0xBEAF0CE3 | URL: www.pobox.com/~tmz/pgp
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
It is dangerous to be sincere unless you are also stupid.
    -- George Bernard Shaw (1856-1950)

Attachment: pgp1r1kz9YgnW.pgp
Description: PGP signature

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

[Index of Archives]     [Current Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Yosemite News]     [Yosemite Photos]     [KDE Users]     [Fedora Tools]     [Fedora Docs]

  Powered by Linux