批量修改文件名
#!/usr/bin/env bash
# rename.sh 路径 原字符串 新字符串
dir=$1
backuppath=$dir'/backup/'
if [ ! -d $backuppath ]; then
mkdir $backuppath
else
rm -rf $backuppath
echo 'remove '$backuppath
mkdir $backuppath
fi
for file_path in `ls $1`
do
new_path=$dir${file_path/$2/$3}
if [[ ! -f $new_path ]] && [[ "$dir$file_path" != "$new_path" ]];then
cp $dir$file_path $backuppath$file_path
mv $dir$file_path $new_path
echo 'backup to 'backup/$file_path', move to '$new_path
# 下面这段替换了文件中的内容,不需要可注释掉
sed -i "s/$2/$3/g" $new_path
else
echo 'File already exists '$new_path
fi
done