Centos下批量替换文件中指定字符串

这两天使用火车头采集了一些数据,由于生成了很多SQL文件。我想将每个SQL文件中的固定内容替换为另外的内容.

手工一个个改文件配置有点不太实际,所以google了一下,找到批量替换文件内容的好方法。

命令结构如下:

find -name '要查找的文件名' | xargs perl -pi -e 's|被替换的字符串|替换后的字符串|g'

下面这个例子将当前目录及所有子目录下的所有sql文件中的“恋香缘”替换为“www.111cn.net”
find -name *.sql | xargs perl -pi -e 's|恋香缘|www.111cn.net|g'

这里用到了Perl语言,

perl -pi -e

在Perl 命令中加上-e 选项,后跟一行代码,那它就会像运行一个普通的Perl 脚本那样运行该代码.

从命令行中使用Perl 能够帮助实现一些强大的、实时的转换。认真研究正则表达式,并正确地使用,将会为您省去大量的手工编辑工作。

把/usr/local/apache/conf下的所有conf的文件内容里含有【/usr/local/apache/htdocs】,改为【/data/wwwroot】。具体操作如下:

#sed -i “s/\/usr\/local\/apache\/htdocs/\/data\/wwwroot/g” `find . -name “*.conf” | xargs grep “/usr/local/apache/htdocs” -rl`
或者

#find . -type f -exec sed -i ‘s#/usr/local/apache/htdocs#/data/wwwroot#g’ {} \;

时间: 2024-09-28 09:41:10

Centos下批量替换文件中指定字符串的相关文章

Centos下批量替换文件中的内容shell脚本

Centos批量替换文件内容 这两天使用火车头采集了一些数据,由于生成了很多SQL文件.我想将每个SQL文件中的固定内容替换为另外的内容. 手工一个个改文件配置有点不太实际,所以google了一下,找到批量替换文件内容的好方法. 命令结构如下: find -name '要查找的文件名' | xargs perl -pi -e 's|被替换的字符串|替换后的字符串|g' 下面这个例子将当前目录及所有子目录下的所有sql文件中的"恋香缘"替换为"http://www.111cn.

linux下批量替换文件中的内容

  grep命令可以查找单个文件或文件夹下文件中的内容,使用参数"r"或"-R"可以递归查找指定文件夹下的所有文件;参数"l"可以让grep输出包含指定字符串的文件名,首次匹配成功后立刻停止对同文件的查询.如果不使用"l",grep查询单个文件时输出文件中所有包含指定字符串的行,对文件夹查询时则按照"文件名:包含字符串行"的方式输出. 有了上面提到的知识,执行批量替换的命令可以写为: grep "

c语言-C替换文件中指定位置处的内容

问题描述 C替换文件中指定位置处的内容 a.txt中的内容:key1=111key2=222key3=333 现想把key2的值替换成666如何直接找到那个位置把值给替换了 解决方案 读取文件内容到字符串,然后找到字符串位置,修改对应的字符.然后这个字符串写回文件 解决方案二: C++替换文件中指定的内容 解决方案三: static void Main(string[] args) { string s = "key1=111key2=222key3=333"; Console.Wri

linux下批量替换文件内容的方法

  对于单个文件,使用sed命令很容易做到.如果需要替换某个指定文件夹下所有文件,借助grep和sed组合成一条命令也可以轻松搞定. grep命令可以查找单个文件或文件夹下文件中的内容,使用参数"r"或"-R"可以递归查找指定文件夹下的所有文件;参数"l"可以让grep输出包含指定字符串的文件名,首次匹配成功后立刻停止对同文件的查询.如果不使用"l",grep查询单个文件时输出文件中所有包含指定字符串的行,对文件夹查询时则按照

Linux统计文件中指定字符串个数的2种方法

  统计一个文件中某个字符串的个数,其实就像在一块沙地里面找一块石头,有的人看到石头以后,在上面做个标记(grep),然后记住自己做了多少个标记;有的人看到石头以后,把它跳过去(awk),然后统计自己跳了多少次. 方法1: grep 代码如下: grep -o 'keyword' my_file.txt | wc -l 方法2: awk 代码如下: awk -v RS='keyword' 'END {print –NR}' my_file.txt

sqlserver replace函数 批量替换数据库中指定字段内指定字符串参考方法

语法 REPLACE ( 'string_e­xpression1' , 'string_e­xpression2' , 'string_e­xpression3' ) 参数说明 'string_e­xpression1' 待搜索的字符串表达式.string_e­xpression1 可以是字符数据或二进制数据. 'string_e­xpression2' 待查找的字符串表达式.string_e­xpression2 可以是字符数据或二进制数据. 'string_e­xpression3' 替换

sql server replace 批量替换数据库中指定字段内容

function replace(title) { replace(title,'aaa','bbbb') return(title) } bbb=replace(title) update ..... set title='"&bbb&"' asp教程 access <% Set Conn = Server.CreateObject("ADODB.Connection") Conn.Open "Provider=Microsoft.

linux下perl,sed,shell批量替换文件内容

  方法1: 这两天在构建一个应用的使用用到了maven,由于project很大,足足有700多个 pom.xml文件,更郁闷的是在很多pom.xml文件里都单独指定了资源库的url,我需要把这些资源库的url统一指定到nexus本地中央库. 手 工一个个改文件配置有点不太实际,所以google了一下,找到批量替换文件内容的好方法,命令结构如下: find -name '要查找的文件名' | xargs perl -pi -e 's|被替换的字符串|替换后的字符串|g'下面这个例子就是将当前目录

查找目录下的所有文件中是否含有某个字符串 linux

查找目录下的所有文件中是否含有某个字符串 find .|xargs grep -ri "IBM" 查找目录下的所有文件中是否含有某个字符串,并且只打印出文件名 find .|xargs grep -ri "IBM" -l 1.正则表达式    (1)正则表达式一般用来描述文本模式的特殊用法,由普通字符(例如字符a-z)以及特殊字符(称为元字符,如/.*.?等)组成.   (2)基本元字符集及其含义       ^ :只匹配行首.   如^a 匹配以a开头的行abc,