#!/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
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