Linuxでファイル名の一部を変更するには?

Linuxでファイル名の一部を変更するには?

可変長ファイル名「abcdef - ghijkl.pdf」を取得し、「ghijkl - abcdef.pdf」に名前を変更します。

単一フォルダ内のすべてのファイルのコマンドラインスクリプトでこれをどのように達成できますか?

ベストアンサー1

Ubuntuを使用しているので、少なくともPerlベースrenameまたはprename

$ rename -n -- 's/(\w*) - (\w*)/$2 - $1/' *.pdf
rename(abcdef - ghijkl.pdf, ghijkl - abcdef.pdf)

$ prename -n -- 's/(\w*) - (\w*)/$2 - $1/' *.pdf
abcdef - ghijkl.pdf renamed as ghijkl - abcdef.pdf

またはインストールして使用することができます。mmv

$ mmv -n '* - *.pdf' '#2 - #1.pdf'
abcdef - ghijkl.pdf -> ghijkl - abcdef.pdf

(すべての場合、削除は-n実際に作業を完了することです。)

おすすめ記事