MAC#批量文件内容替换

MAC#批量文件内容替换

场景

目录下部分文件内容需要进行批量替换,需要做的工作有查询过滤包含替换原字符串的文件,对这些文件中的内容进行替换。涉及到的命令有grep、xargs、sed。

处理示例

1.替换客户端

grep -I -l -r -e 'itms-services://?action=download-manifest&url=https://dn-app.myapp.me/myapp.plist' /opt/web/myapp/* |xargs sed -i "s/itms-services:\/\/?action=download-manifest&url=https:\/\/www.noname.com\/myapp.plist/https:\/\/itunes.apple.com\/cn\/app\/myapp\/id78910?mt=8/g"

2.替换商家端

grep -I -l -r -e 'itms-services://?action=download-manifest&url=https://dn-app.myapp.me/myapp_control.plist' /opt/web/myapp/* | xargs sed -i "s/itms-services:\/\/?action=download-manifest&url=https:\/\/www.noname.com\/myapp_control.plist/https:\/\/itunes.apple.com\/cn\/app\/myapp_control\/id939031?mt=8/g"

命令解释

上述命令可以分拆为两个命令分别是查找和替换

1.使用grep查找到需要替换内容的文件

1.1.grep -i -I -r'item-service://?[^"]+"' /opt/web/

1.2.查询/opt/web/目录下文件内容包含item-service相关的文件,不区分大小写、只输出匹配的文件全路径,搜索子目录

2.对每个文件使用sed命令进行替换

2.1. sed-i "s/item-service/http-service/g"

3.xargs命令

3.1.xargs是给命令传递参数的一个过滤器,也是组合多个命令的一个工具。xargs捕获一个命令的输出,然后传递给另一个命令。

资料

1.Dash

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值