批量重命名脚本文件

时间:2013-03-22 10:03:18

标签: bash unix rename

在我的nas4free(freeBSD)中,我有一些包含照片的目录,我会使用一个bash脚本用包含它和计数器的目录名重命名每个文件。

示例:

/ path/2012-05-01 - description / DSCN4074.JPG

/ path/2012-05-01 - description / 2012-05-01 - description (1 to n). jpg

1 个答案:

答案 0 :(得分:0)

每个目录只应计算一次文件数,并减少管道:

#!/bin/bash
EXT=.jpg

shopt -s nullglob
find . -mindepth 2 -type d | while read d
do( cd "$d"
    CURRENT=$(basename "$d")
    FILES=(*"$EXT")
    TOT=${#FILES[@]}
    COUNT=0
    for FILE in ${FILES[@]}
    do  let COUNT=COUNT+1
        mv "$FILE" "$CURRENT ($COUNT of $TOT)$EXT"
    done
)done