Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash 批量重命名脚本文件_Bash_Unix_Rename - Fatal编程技术网

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=${#

在我的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=${#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