MacOSのbashでmvを使用してファイル名を変更する(ファイル名の部分文字列を移動する)

MacOSのbashでmvを使用してファイル名を変更する(ファイル名の部分文字列を移動する)

bashMacOSでファイル名を一括変更しようとしています。

PREFIX - Full Title 1 012346.txt

名前を次のように変更しようとしています。

012346 - PREFIX - Full Title 1.txt

シェルで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

これは次の答えに基づいています。

関連情報