最近在写shell 使用sed替换字符串时候有时候会出现执行失败的情况
sed -i "s/xxxx/${xxxx}/g" file
一般情况下执行上面命令不会出现。
但是当${xxxx}, 这个变量里面包含 “/”, 这个时候就会出现
类似下面错误
sed: -e 表达式 #1, 字符 6: 未知的命令
了解之后原因比较简单, 将分隔符“/” 替换成其他符号, 比如#, !等
不过同样的也需要考虑,这个分隔符不能被变量包含,否则还是会出现类似的问题。
最近在写shell 使用sed替换字符串时候有时候会出现执行失败的情况
sed -i "s/xxxx/${xxxx}/g" file
一般情况下执行上面命令不会出现。
但是当${xxxx}, 这个变量里面包含 “/”, 这个时候就会出现
类似下面错误
sed: -e 表达式 #1, 字符 6: 未知的命令
了解之后原因比较简单, 将分隔符“/” 替换成其他符号, 比如#, !等
不过同样的也需要考虑,这个分隔符不能被变量包含,否则还是会出现类似的问题。