今天在进行修改rpm打包时需要修改目录下的100个软件包对应的spec文件,以便将源代码打包成rpm二进制包***.rpm和rpm二进制源代码包***.src.rpm。
需要将某个目录下的所有spec文件中的Release: 1一行中的发布版本号1替换成%{_release},其中%{_release}是系统中配置的一个宏变量。
我使用的命令是:
sed -i "s/Release: 1/Release: %{_release}/g" 'grep Release: 1 -rl --include="*.spec" ./'
以上的脚本不好使。
我知道Linux批量替换多个文件中字符串的常见命令是:
sed -i "s/oldString/newString/g" `grep oldString -rl /path`
例如:我要把mahuinan替换为huinanma,执行命令:sed -i "s/mahuinan/huinanma/g" 'grep mahuinan -rl /www'
请问我的脚本该怎么写才能实现需求呢。