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

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

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

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”

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

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

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • Java实现邮件发送

    Java实现邮件发送Java实现邮件发送一、邮件服务器与传输协议要在网络上实现邮件功能,必须要有专门的邮件服务器。这些邮件服务器类似于现实生活中的邮局,它主要负责接收用户投递过来的邮件,并把邮件投递到邮件接收者的电子邮箱中。SMTP服务器地址:一般是smtp.xxx.com,比如163邮箱是smtp.163.com,qq邮箱是smtp.qq.com。SMTP协议通常把处理用户smtp请求(邮件…

  • C#中什么是泛型

    C#中什么是泛型参考视频c#教程泛型集合与非泛型集合最大的区别在于,泛型集合,不需要进行装箱和拆箱的操作。如集合元素为值类型,通常泛型集合要优于非泛型集合,并优于从非泛型集合派生出来的类型,泛是广泛的意思,而型是数据类型。这里的泛型可以理解为应用广泛的数据类型。为了提高性能及维护类型安全,一般最好采用泛型集合。如果两个类的内容完全一样,只是处理的数据类型不同。那么,采用泛型是一个不错的选择。泛型类用于封装不是特定于具体数据类型的操作,通常用于集合。诸如从集合中添加和移除项这样的操作都以大体上相同的方式执行,与所存

  • Eclipse如何安装svn插件及使用「建议收藏」

    Eclipse如何安装svn插件及使用「建议收藏」Eclipse中使用SVN此文章对Myeclipse同样适用。一.在Eclipse里下载Subclipse插件方法一:从EclipseMarketplace里面下载具体操作:打开Eclipse–>Help–>EclipseMarketplace–>在Find中输入subclipse搜索–>找到subclipse点击in…

  • 2022 sblime3 激活码【最新永久激活】2022.03.01

    (2022 sblime3 激活码)本文适用于JetBrains家族所有ide,包括IntelliJidea,phpstorm,webstorm,pycharm,datagrip等。https://javaforall.cn/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~4…

  • c语言socket编程代码例子

    c语言socket编程代码例子socket_client客户端代码#include<sys/types.h>#include<sys/socket.h>#include<stdio.h>#include<string.h>#include<error.h>#include<netinet/in.h>intmain(){//1.创建socket,socket()函数intsockfd=0;sockfd=sock.

    2022年10月24日
  • Java常见Exception物种

    Java常见Exception物种

发表回复

您的电子邮箱地址不会被公开。

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