Linux批量替换文件内容

原创 2013年12月05日 15:25:47

           今天测试人员一不小心把导航的地址改错了,大约6000多个导航文件,要通过后台配置的话也很麻烦,可以通过linux命令实现对批量文件进行内容替换,但是技术经理不在,我对linux命令不熟,没办法只好硬着头皮来。经在网上一番辛苦搜索,找到以下几个命令,并尝试执行……最终终于实现效果,哎,“书到用时方恨少”,特此针对今天的情况总结了一下Linux批量替换文件内容的命令,

          第一种:   

    格式:sed -i "s/oldstr/newstr/g" filesname

    说明:oldstr     需要替换的旧字符串

          newstr     替换后的新字符串

          filesname  批量文件名称,支持正则,如:ST_*.json

    案例:

         如果我想把ST_*.json下面的文件里的“today” 替换为“tomorrow”,那就是:

         sed -i "s/today/tomorrow/g" ST_*.json

    但是这种命令有一个缺陷,就是替换的文件数量有限制,不过可以针对文件名称规则再细分几种类型,分几次执行就可以了。于是另寻出路,找到了下面一种:

    第二种:

    格式:sed -i "s/oldstr/newstr/g" `grep oldstr -rl yourdir`   

    说明:oldstr   需要替换的旧字符串

          newstr   替换后的新字符串

          yourdir  文件路径名称

    注意在  `grep oldstr -rl /path`   中 ` 为1前边的翻引号`,而不是enter 前的 '

    但是执行出错,说是找不到路径,但是路径也正确,不明所以,还请大牛指教。然后我看到了一段说明说这种做法”对多个文件的处理可能不支持,需要用 xargs, 搞定。“也就是下面的方法

    第三种:

    格式:grep oldstr -rl /path | xargs sed -i "s/oldstr/newstr/g"
    说明:oldstr   需要替换的旧字符串

          newstr   替换后的新字符串

          path     文件路径名称

    案例:

         如果我想把/app/web/sitemap下面的文件里的“today” 替换为“tommorow”,那就是:

         grep  today  -rl /app/web/sitemap  grep |xargs sed -i "s/today/tommorow/g"
    执行完毕,效果就出来了!这个太好用了。

           我总结的可能不全,但是这两个用起来很顺手,如有其它顺手的命令,还请大家补充!

linux下用命令批量修改替换文件内容

在linux入侵之后,我们要清除留下的一些痕迹,比如apache留下的日志.但是对于ssh登陆日志比如/var/log/wtmp 和 lastlog这类二进制文件,sed命令就爱莫能助了. Linu...
  • feverforce
  • feverforce
  • 2011年04月11日 15:42
  • 2116

xargs sed 批量替换文件内容

sed 批量替换文件内容Linux下批量替换多个文件中的字符串的简单方法。用sed命令可以批量替换多个文件中的字符串。 用sed命令可以批量替换多个文件中的 字符串。 sed -i "s/原字符串/...
  • elong490
  • elong490
  • 2016年09月19日 16:47
  • 2686

linux 批量替换文件内容及查找某目录下所有包含某字符串的文件(批量修改文件内容)

From: http://justcoding.iteye.com/blog/1948005 1. sed C代码   grep -rl matchstring some...
  • werm520
  • werm520
  • 2015年10月22日 15:50
  • 7295

linux使用脚本shell批量替换文件中的文本

find ./ -name 'xxx.php' | xargs sed -i "s/oldstring/newstring/g" 注意查找和替换的字符串是正规表达式...
  • 0210
  • 0210
  • 2015年03月08日 17:28
  • 1194

XCLNetFileReplace(文件名文件内容批量替换工具),支持Word/Excel/文本文件(无需安装office)

版本:1.0 发布日期:2013-12-29 操作系统:windows(with .net framework 4.0) 描述:本软件可以对文件名和内容进行批量替换,可选用正则表达式进行复杂的替换,支...
  • luoyeyu1989
  • luoyeyu1989
  • 2013年12月31日 09:06
  • 8565

文件批量改名和批量替换文件内容

周海汉 /文09.12.3 文本操作中经常有整体查找和替换以及改名的操作,在linux下还是比较方便的,windows下则需要采用特殊工具。下面是linux下一些简单方法,在ubuntu9.10中调试...
  • ablo_zhou
  • ablo_zhou
  • 2009年12月03日 15:09
  • 4667

Linux 下批量替换文件内容

通常在网络上可以找到的方法是 sed -i "s/oldString/newString/g" `grep oldString -rl /path`  但是其中有太多的限制,比...
  • yylad
  • yylad
  • 2012年09月26日 18:01
  • 417

linux批量替换文件内容

    这两天在构建一个应用的使用用到了maven,由于project很大,足足有700多个pom.xml文件,更郁闷的是在很多pom.xml文件里都单独指定了资源库的url,我需要把这些资源库的ur...
  • linuxgroup
  • linuxgroup
  • 2009年07月19日 00:46
  • 374

linux perl 批量替换文件内容

 perl -pi -e "s/oldstring/newstring/g" *.* //看懂了洒 不过如果oldstring里有关键字,记得转义,比如() perl -pi -e "s/Select...
  • legend115599
  • legend115599
  • 2010年06月06日 12:22
  • 294

linux查找文件内容批量替换

linux查找文件内容替换例子: sed -i 's/10.230.39.238/10.230.29.104/g' `grep 10.230.39.238 -rl /SGTMS`  查找10.23...
  • aibreaking213
  • aibreaking213
  • 2018年01月29日 16:30
  • 53
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Linux批量替换文件内容
举报原因:
原因补充:

(最多只允许输入30个字)