首先如何执行一个shell脚本
新建空文件,命名为test.sh,注意后缀。打开终端,直接拖进去,或者输入脚本所在目录。回车执行。
#Cur_Dir=$(pwd) 定义变量 路径
#echo $Cur_Dir 输出
pathString=~+ 定义路径变量,和上面一样
#echo $pathString
pathString2=${pathString##*/} 取最后的/后面的字符串,这里时上级目录名
#echo $pathString2
filelist=`ls $pwd` 获取当前路径下的文件列表
for file in $filelist 循环
do
filename=$file 获取文件名
#echo $filename
getname=${filename%Dao.java*} 截取文件名
#echo $getname
这里sed替换字符串。注意
1,sed 只更改不保存的,所以要在后面加上 -i
2,sed中更改的貌似不支持转义符
3,sed基本语法 sed -i “” ’s/String1/String2’ $file
4,sed -i 后还要添加 “” 因为mac的需要备份,所以给出一个空的备份路径,后面$file是需要打开的文件
5,sed中的含有变量的话,变量再括上单引号,其实不论
6,注意5为什么要括上单引号,希望大家千万别混谣了。和java js 等等一样,其实是给字符串括的引号,然后拼接的变量,只是看起来像给变量括引号,注意逻辑别混乱。
sed -i '' 's/BaseDao;/BaseDao;import com.sammyun.entity.'$pathString2'.'$getname';/' $file
sed -i '' 's/Temp4T/'$getname'/' $file
done
perl -p -i -e "s/BaseDao;/BaseDao;\n/g" ./*.java 文件夹下更改
---------------------------------------------------
文件不知道怎么上传,所以就特么只能截图了,渣渣