sed替换文本

Posted despotic

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sed替换文本相关的知识,希望对你有一定的参考价值。

需要替换的行为:

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

以上是关于sed替换文本的主要内容,如果未能解决你的问题,请参考以下文章

新手用bash的sed这样替换怎么不成功呢?

Solaris里面的sed怎样把指定字符替换成换行

文本里常用的替换(持续更新.......)

替换文本文档字符的方法

问在LINUX中 如何用sed将整行替换成给定字符串

sed命令