【发布时间】:2016-07-29 11:49:12
【问题描述】:
我正在编写一个很好的正则表达式来替换文本文件中的一些 IP。
sed -r "s/[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}/${APP_IP}/g" /path/to/my/file
但是它给了:sed: -e expression #1, char 49: unterminated 's' command
我需要双引号,否则它会用文字变量名替换所需的字符串:${APP_IP}
我错过了什么?
【问题讨论】:
-
无法重现您的问题 -
APP_IP的值是多少? -
问题很可能是
/、换行符或$APP_IP中存在的其他终止字符。 -
您的代码对我来说运行良好 :)
-
当我手动将变量设置为所需的 IP 时似乎正在工作。如果我从变量中捕获 IP,它将失败。必须是变量中的特殊字符。谢谢大家。