需要替换的行为:
monitor.url=http://192.168.25.100:8443/rest
查询资料得知,报错是因为替换的字符串包含有分隔符/
所以这行改一下分隔符就可以解决问题了? (这里的分隔符随自己定义 例如:sed -i "s#$url#$1#g" datasource.properties? 这三个分隔符要统一就可以了)
改成感叹号!或者| ?等其他来分割
sed -i "s!$url!$1!g" datasource.properties
关于sed 命令中的转义符为()
还有一点需要注意的是:
? ? ?在某些问文件中不知道修改了什么东西导致文件格式出现了问题、导致使用sed 命令无法对文件进行有效的操作;
? ? ? 那么出现这样的情况的话就需要进行源文件的还原了;暂时还不明白是何原因
? ? ??还有就是刚发现有时候sed 不能使用了,一直都不知道是啥原因、所以就换了一种方式:
? ? ??find命令查找和替换
?
? ? ? 命令格式:find -name ‘要查找的文件名‘ | xargs perl -pi -e ‘s|被替换的字符串|替换后的字符串|g‘
?
? ? ? #查找替换当前目录下包含字符串并进行替换
?
? ? ? find -name ‘*.txt‘ | xargs perl -pi -e ‘s|智慧乡村|北部山区|g‘
?
? ? ??如果有哪位大神知道的、还请指导一二啊、在下感激不尽、先在此谢过了
?
本文来自:http://www.cnblogs.com/tzhyy/p/10207464.html