shell批量修改规则的文件名

honhole 次浏览

摘要:采集数据时不小心把图片的文件名生成错误了,已经入库了,不想一个个改,所以查找资料拼了以下几行程序。不完美的实现批量改名的效果 。思路是先找到文件名中带有 width的错误文件名, 然后循环,再利用split 得到正确的文件名,然后得用mv进行改名。...

采集数据时不小心把图片的文件名生成错误了,已经入库了,不想一个个改,所以查找资料拼了以下几行程序。不完美的实现批量改名的效果 

想要的文件名:  aaaa.jpg, 错误的文件名   aaaa.jpg?width=100&height=100

思路是先找到文件名中带有 width的错误文件名, 然后循环,再利用split ? 得到正确的文件名,然后得用mv进行改名。

cd ../20210426
list=$(ls ./ | grep 'width')
array=(${list// / })  
for var in ${array[@]}
do
   echo $var
   arr2=(${var//?/ })
   for vvv in ${arr2[@]}
   do
      echo $arr2
      mv $var $arr2;
   done
done



随机内容