当" /"时,Cywgin Sed匹配不起作用在字符串中

时间:2015-08-19 15:38:36

标签: regex bash sed special-characters

testLine="This is a test line: Asia/Pacific Australia"
expr="Asia\/Pacific Australia"

这有效:

echo "$testLine" | sed 's/Asia\/Pacific Australia/TEST/g'

这不是:

echo "$testLine" | sed 's/$expr/TEST/g'

我使用-r-re Sed切换,尝试使用多个"转义",使用不同的引号,尝试了所有内容。似乎没什么用。

请告知是否有人有工作解决方案。请有人在这里提供建议并提供Cygwin输出,非常感谢!

1 个答案:

答案 0 :(得分:0)

首先将变量更改为

expr="Asia/Pacific Australia"

这应该适用

echo "$testLine" | sed 's_'"$expr"'_TEST_g'

请注意,对于sed分隔符,您也可以选择其他字符,_