linux替换大文件内容,Linux批量替换文件内容

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


Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

今天测试人员一不小心把导航的地址改错了,大约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, 搞定。“也就是下面的方法

第三种:

格式:grepoldstr -rl /path | xargssed -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”

执行完毕,效果就出来了!这个太好用了。

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/164473.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长

相关推荐

  • redis被击穿_redis的击穿和雪崩

    redis被击穿_redis的击穿和雪崩Redis缓存的使用,极大的提升了应用程序的性能和效率,特别是数据查询方面。但同时,它也带来了一些问题。其中,最要害的问题,就是数据的一致性问题,从严格意义上讲,这个问题无解。如果对数据的一致性要求很高,那么就不能使用缓存。另外的一些典型问题就是,缓存穿透、缓存雪崩和缓存击穿。目前,业界也都有比较流行的解决方案。本篇文章,并不是要更加完美的解决这三个问题,也不是要颠覆业界流行的解决方案。而是,…

    2022年9月14日
  • 微信上赚钱需要准备什么?[通俗易懂]

    微信上赚钱需要准备什么?[通俗易懂]微信上赚钱需要准备什么?1、一个风口上的产品2、微信好友人脉资源3、群发工具其实很多时候赚钱并没有那么难,想在微信上做生意、做社交其实很简单。很多人目前可能手头都有至少一个产品是可以卖的,但是他们没有有效的利用起来自己的微信人脉。也许是不会;也许是会,但是没工具不能;也许就是懒……不管出于什么原因,我这篇文章是写给想赚钱的人。加余老师VX:125381839微精灵营销工具可以帮助我们做哪些…

    2022年6月4日
  • 第九章第四节 流体压强与流速的关系「建议收藏」

    第九章第四节 流体压强与流速的关系「建议收藏」1.流速大的地方,压强小实例1:兵乓球实例2:如图,在离桌边2~3cm的地方放一枚铝制硬币,在硬币前10cm作用用直尺或钢笔等架起一个栏杆,高度约2cm。在硬币上方沿着与桌面平行的方向吹一口气

    2022年8月6日
  • idea安装mybatis插件_maven 插件

    idea安装mybatis插件_maven 插件MyBatis允许你在已映射语句执行过程中的某一点进行拦截调用。默认情况下,MyBatis允许使用插件来拦截的方法调用包括:Executor(update,query,flushStatements,commit,rollback,getTransaction,close,isClosed)ParameterHandler(getParameterObject,setP

    2022年9月26日
  • MapReduce 编程模型在日志分析方面的应用

    MapReduce 编程模型在日志分析方面的应用

    2021年8月14日
  • QT3D场景的快速绘制

    QT3D场景的快速绘制    QT3D场景提供了一种快速设置3D场景的一种方式,用户凭借着封装好的实体可以快速的在顶层实体(画布)当中增加各种各样的实体,并且通过3DMax软件构造的OBJ文件与QT3D实现信息交互可以的帮助用户摆脱OpenGL的用代码绘制图形的繁琐。本人在做这方面的工作时也看了很多来自CSDN的文章,但是直接将封装好的3D实体放入画布的例子有点少(是不是大家觉得太简单了?),所以作为一个QT3D建模…

    2022年6月4日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号