Linux批量替换某种类型文件中的字符串-sed和grep命令使用

      今天在修改rpm打包的spec配置文件时,遇到一个问题就是:需要将100个左右源代码中的spec配置文件中的Release一行中的发布版本号使用宏变量%{_release}进行替换

    如果要手工修改需要修改100多次,但是使用sed和grep命令很简单:

sed -i "s/Release:    1/Release:    %{_release}/g" 'grep Release:    1 -rl --include="*.spec" ./'

       以上的命令有待求证,暂时这么写了,明天确认一下再加以修改吧。

Linux下批量替换多个文件中的字符串的简单方法。

用sed命令可以批量替换多个文件中的字符串。
               
sed -i "s/原字符串/新字符串/g" `grep 原字符串 -rl 所在目录`
例如:我要把mahuinan替换为huinanma,执行命令:sed -i "s/mahuinan/huinanma/g" 'grep mahuinan -rl /www'
这是目前linux最简单的批量替换字符串命令了!
具体格式如下:
sed -i "s/oldString/newString/g" `grep oldString -rl /path`
实例代码:sed -i "s/大小多少/日月水火/g" `grep 大小多少 -rl /usr/aa`
sed -i "s/大小多少/日月水火/g" `grep 大小多少 -rl ./`

参考了这两篇文章:

1、Linux批量替换多个文件中字符串

Linux批量替换多个文件中字符串

2、Linux shell 批量替换多个文件中字符串 

Linux shell 批量替换多个文件中字符串 接

3、SED与AWK学习笔记

SED与AWK学习笔记

 



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值