#!/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
本文介绍了一个shell脚本示例,演示如何利用sed命令在特定的Java文件中查找并替换指定字符串。该脚本适用于批量处理文件,特别针对包含特定模式的Java源文件进行修改。

被折叠的 条评论
为什么被折叠?



