linux批量重命名多个目录下文件名

在项目中有个需求是把位于不同目录下的logo.png 重命名为 logo3.png。经过一番研究,得出下面的方法:

for i in `find . -name logo.png`; do mv $i `echo $i | sed 's/logo.png$/logo3.png/'`; done

这条脚本由几部分组成,
find . -name logo.png    # 递归查找logo.png
echo $i | sed 's/logo.png$/logo3.png/' # 通过管道把文件名的logo.png 修改为logo3.png

你可能感兴趣的:(linux,脚本)