プレフィックスとサフィックスからファイル名を変更する

プレフィックスとサフィックスからファイル名を変更する

一括の名前変更を試みる一連のメディアファイルがあります。

001 - 01x01 - mediaTitle1.avi
002 - 01x02 - mediaTitle2.avi
003 - 01x03 - mediaTitle3.avi

私が望むのは出力です。

Series Title S01 E01 - mediaTitle1.avi
Series Title S01 E02 - mediaTitle2.avi
Series Title S01 E03 - mediaTitle3.avi

私はこれを試しています:

for f in *01x*; do echo mv -v "$f" "Series Title S01 E{f#1}"; done

しかし、それは失敗しました。だから、ファイルの終わりを維持し、各ファイルの先頭を変更したい

ベストアンサー1

近い間でしたが、$変数拡張を忘れてしまいました(?)。以下を試してください。

for f in  *01x*; do mv -v -- "$f" 'Series Title S01 E'"${f#*01x}"; done

ファイル名にスペースがあるため、ターゲットファイルの一重引用符に注意してください。

おすすめ記事