shell之for和if实现批量替换多目录下的文件

时间:2023-03-09 23:48:40
shell之for和if实现批量替换多目录下的文件

问题背景:

生产环境的项目图片文件夹众多,每个项目都会有一个图片文件夹,现在要批量替换每个文件夹下的一张模板图片

如图,我们要替换每一个文件夹下的01.jpg

shell之for和if实现批量替换多目录下的文件

shell 脚本

#/bin/bash
#遍历需要替换文件的目录
for i in `ls /test/project/`
do
#判断是不是目录
if [ -d /test/project/$i ]
then
#如果是目录,将目录变量匹配到具体的需要替换的子文件夹,z存在则执行替换
z=/test/project/"$i"/"$i"src/swf/pages/
if [ -e $z ]
then
echo $z
`/bin/cp /test/.jpg $z` >> /test/cp.log
fi
fi
done