我需要从bash中的字符串中删除转义字符。我得到的数据结构,其中包含与URL路径/逃脱,所以我接受了常规链接:如何使用sed从bash中的字符串中移除转义字符?
http://stackoverflow.com/questions/ask
为一体,以逃脱/:
http:\/\/stackoverflow.com\/questions\/ask
现在我需要从第二个链接删除\ 。为此我尝试使用SED
`echo '"'${paths[$index]}'"' | sed "[email protected]\\@@g"`
但我得到一个错误:
sed: -e expression #1, char 6: unterminated `s' command
如果我更换\\与IE浏览器。 _它像魅力一样工作,并删除字符串中所有出现的_。如何使用sed摆脱字符串中的转义字符?
这两种方式给了我同样的错误,但遵循你的逻辑,我尝试过........ | sed's @ \\\\ @@ g',它的工作原理!我明白为什么我需要\\\\。 \在字符串被视为\\由sed,所以我需要\\\\在sed查询匹配\\。虽然我不知道为什么它不适用于“”。 – user1581900 2013-03-06 10:39:31
@ user1581900有趣,这两个在这里工作.. :)请参阅编辑回答 – Kent 2013-03-06 10:44:25
我正在使用整个回声管道和sed之间''里面另一个回声声明使用“”。只有sed的@ \\\\ @@ g'在本声明中有效,但在终端中所有方法都有效。 – user1581900 2013-03-06 10:50:09