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

Centos批量替换文件内容

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

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

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

下面这个例子将当前目录及所有子目录下的所有sql文件中的“恋香缘”替换为“http://www.111cn.net”
find -name *.sql | xargs perl -pi -e 's|恋香缘|http://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-11 23:57:26

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

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

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

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

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

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

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

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

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

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

利用C语言替换文件中某一行的方法_C 语言

文件中存贮的内容如下所示: 11 1122 0 1122 * * 0 0 22 222 0 222 * * 0 0 33 333 0 333 * * 0 0 通过使用下面的几个函数,fopen,fprintf,fscanf,fseek,ftell . 具体的函数函数原型如下所示: FILE*fopen(const char*filename,const char *mode); int fprintf(FILE*stream,const char *format,...) int fscanf(

Dreamweaver中使用正则表达式替换href中的内容

 可能在dw中使用正则表达式替换字符串的朋友很少,下面我来给大家介绍Dreamweaver中使用正则表达式替换href中的内容吧.    在Dreamweaver中使用正则表达式替换href中的内容,就像下面这些href中的内容复杂多样的情况下,href="/html/u.html",href="/tuho/huko.html",想将它们全部替换成href="#" ,具体做法如下: 查找: href="[^"]*"

centos下tomcat日志文件乱码

centos下tomcat日志文件乱码 ,最近装了centos7.0准备用来搭建web服务器. 遇到一个问题折腾了很久: 在tomcat日志文件中的中文全部为?号,并不是因为linux的编码问题引起的, 而是因为启动tomcat的时候需要设置 什么是 centos下tomcat日志文件乱码 最近装了centos7.0 准备用来搭建web服务器.遇到一个问题折腾了很久: 在tomcat日志文件中的中文全部为?号,并不是因为linux的编码问题引起的,而是因为启动tomcat的时候需要设置java虚

android工程文件的res文件下的xml文件中color标签的值如何动态修改

问题描述 android工程文件的res文件下的xml文件中color标签的值如何动态修改 请问给位前辈,如果想动态修改android的strings.xml文件中的color属性java代码该怎莫写呀!?请大家指点一下!是修改传入新值,不是获取. 解决方案 在values下面新建一个叫做color.xml的文件内容如下颜色都是16进制的,你可以通过颜色表来查询. <?xml version="1.0" encoding="utf-8" ?> #FFFF