Bash 批量重命名脚本文件
在我的nas4free(freeBSD)中,我有几个包含照片的目录,我将使用一个bash脚本用包含照片的目录名和计数器重命名每个文件 例如: 从 到Bash 批量重命名脚本文件,bash,unix,rename,Bash,Unix,Rename,在我的nas4free(freeBSD)中,我有几个包含照片的目录,我将使用一个bash脚本用包含照片的目录名和计数器重命名每个文件 例如: 从 到 每个目录只应计算一次文件数,并减少管道: #!/bin/bash EXT=.jpg shopt -s nullglob find . -mindepth 2 -type d | while read d do( cd "$d" CURRENT=$(basename "$d") FILES=(*"$EXT") TOT=${#
每个目录只应计算一次文件数,并减少管道:
#!/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
问题是什么?到目前为止你试过什么?你有什么特别的问题吗?我刚完成一个脚本的开发。脚本运行正常,我不知道从逻辑或语法的角度看它是否正确。#/bin/bash COUNT=1 echo Sto cercando i file EXT=jpg for file in$(find.-type f-iname“*.$EXT”)do CURRENT=pwd | cut-d/-f5 NAME=echo$file | cut-d/-f2 TOT=ls | grep-i“$EXT”| wc-l echo$CURRENT”($COUNT di“$TOT”).jpg“| xargs-i{}mv$NAME”{}let“COUNT COUNT=$COUNT+1”;我不知道如何格式化文本。。。很抱歉
/ 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