特定目录下特定文件的第一个特定字符全局替换

#!/bin/sh  
path=/service    # 你想要替换的特定目录
cd $path    #切换到该目录
for files in $(find -name '*.java');do      #我这里是所有后缀为.java的特定文件
if [ $(grep -c "DomainService" $files) -eq 0 ];        #如果循环出来的文件里包含DomainService这个字符串
then
  echo "true";  #输出 true 可去掉
  echo ${files##*/};  #输出被修改文件名,可去掉
  sed -i '0,/{/{s/{/implements DomainService{/}' $files  #参数-i代表覆盖源文件  ,我这里是找到的第一个字符串会被全局替换
fi

done


参考链接:https://stackoverflow.com/questions/148451/how-to-use-sed-to-replace-only-the-first-occurrence-in-a-file

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值