shell 文本替換 ---出現--- sed:-e 表達式 #1,字符 8:“s”的未知選項


需要替換的行為:

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'

 

      如果有哪位大神知道的、還請指導一二啊、在下感激不盡、先在此謝過了


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM