shell批量修改文件名字 重命名 MD5+文件后缀
搞个事情
整理图片 的时候想着批量改个名字,防止重复。
果断写一个脚本
挖槽,赶紧修改修改。
脚本写完,直接刚
$ for file in $(find ./* -iname "*.*");do
base=`md5sum $file | awk '{print $1}'`
mv ./$file ./${base}.${f##*.}
done
为了安全,再搞个非空判断(如下)
$ for file in $(find ./* -iname "*.*");do
base=`md5sum $file | awk '{print $1}'`
if [ ! ${base} ] ;then
exit 113
fi
mv ./$file ./${base}.${f##*.}
done
完成。
错误一
第一次,${a}
没有加${}
,所有文件全部删除了,变成一个文件了。