在 MacOS 上的 bash 中使用 mv 重命名文件(移动文件名中的子字符串)

在 MacOS 上的 bash 中使用 mv 重命名文件(移动文件名中的子字符串)

我正在尝试在bashMacOS 上批量重命名文件。

PREFIX - Full Title 1 012346.txt

我正在尝试将它们重命名为:

012346 - PREFIX - Full Title 1.txt

我怎样才能在 shell 中mv仅使用它来做到这一点?

答案1

我使用了以下脚本:

for f in *.txt ; do
    if [[ "$f" =~  ^(PREFIX)\ -\ (.*)\ ([0-9]{6})\.txt$ ]]; then
        mv -v "${f}" "${BASH_REMATCH[3]}\ -\ ${BASH_REMATCH[1]} - ${BASH_REMATCH[2]}.txt"
    fi
done

它基于以下答案:

相关内容