利用Shell语言批量有序命名某一文件夹下的所有文件

#! /bin/sh
# name: rename_photos.sh
# author: Weihong Guan (aGuegu) http://aguegu.net
# date: 2012-11-25
# usage: $./rename_photos path extension_name
# example: $ ./rename_photos.sh ~/Pictures/2012-11-25/ jpg

path=${1:-$(pwd)}
# $path

if echo $path | grep ".*/$" > /dev/null
then
    length=$(expr length $path)
    length=$(($length-1))
    path=$(expr substr $path 1 $length)
fi

#echo $path

foldername=${path##/*/}
#echo $foldername

ext=${2:-"jpg"}

#echo $ext

pics=$(ls $path/*.$ext|sed 's/ /^Z/g') # ^z is CTRL+Z in vi

i=1

for p in $pics
do
#   echo $p
    old_name=$(echo $p | sed 's/^z/\ /g')
    new_name=$(printf "%s/%s_%03d.%s\n" $path $foldername $i $ext)
    echo mv "$old_name" "$new_name"
    mv "$old_name" "$new_name"
    echo $((i += 1)) > /dev/null
done

exit 0
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值