当字符串中有“/”时,Cygwin Sed 匹配不起作用
Cywgin Sed match not working when "/" in string
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'
我尝试了所有方法,包括使用多个 "escapes"、使用不同的引号、使用 -r
和 -re
Sed 开关。似乎没有任何效果。
请告知是否有人有可行的解决方案。请有人在这里建议并提供Cygwin输出,非常感谢!
首先将您的变量更改为
expr="Asia/Pacific Australia"
这应该可以工作
echo "$testLine" | sed 's_'"$expr"'_TEST_g'
请注意,对于 sed 分隔符,您也可以选择其他字符,此处 _
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'
我尝试了所有方法,包括使用多个 "escapes"、使用不同的引号、使用 -r
和 -re
Sed 开关。似乎没有任何效果。
请告知是否有人有可行的解决方案。请有人在这里建议并提供Cygwin输出,非常感谢!
首先将您的变量更改为
expr="Asia/Pacific Australia"
这应该可以工作
echo "$testLine" | sed 's_'"$expr"'_TEST_g'
请注意,对于 sed 分隔符,您也可以选择其他字符,此处 _