Modificar por lotes el script de shell de sufijo de archivo

ps: No hay consultas recursivas en el directorio actual, donde HZ1 es el sufijo antes de la modificación y HZ2 es el modificado

#!/bin/bash
HZ1=$1 
HZ2=$2
if [[ "$1" == "" ]] ;then
HZ1=repo
HZ2=bak
echo "默认源文件后缀为:repo 修改后后缀为:bak"
fi
PWD=`pwd`
echo "$PWD"
if [ "$PWD" == "" ];then
echo "获取文件工作路径,请重试"
exit -1
fi
Len=${#HZ1} 
echo "长度:$Len"
for i in `find ./*.$HZ1 -type f`
do
echo "修改前:${i:2}"
echo "修改后:${i:2:-4}$HZ2"
mv $PWD/${i:2} $PWD/${i:2:-4}$HZ2
done

Prueba:
elimine todos los archivos con el sufijo bak en el directorio actual
Inserte la descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/qq_38774492/article/details/108097006
Recomendado
Clasificación