需要替換的行為:
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'
如果有哪位大神知道的、還請指導一二啊、在下感激不盡、先在此謝過了