-1

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

例子:

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

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

1 回答 1

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
于 2013-03-29T00:18:00.130 回答