在我的 nas4free (freeBSD) 中,我有一些包含照片的目录,我会使用一个 bash 脚本来重命名每个文件,并使用包含它的目录的名称和计数器。
例子:
从
/ path/2012-05-01 - description / DSCN4074.JPG
至
/ path/2012-05-01 - description / 2012-05-01 - description (1 to n). jpg
您应该只计算每个目录一次的文件数,并减少管道:
#!/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