1. ホーム
  2. regex

linuxで正規表現を使用してファイル名を変更する

2023-10-02 13:39:11

質問

私は、次のような名前のファイルのセットを持っています。

Friends - 6x03 - Tow Ross' Denial.srt
Friends - 6x20 - Tow Mac and C.H.E.E.S.E..srt
Friends - 6x05 - Tow Joey's Porshe.srt

で、以下のように名前を変えたい。

S06E03.srt
S06E20.srt
S06E05.srt

Linuxのターミナルで作業を行うにはどうしたらいいでしょうか? 私はrenameをインストールしましたが、Uは、次のように使用するとエラーが発生します。

rename -n 's/(\w+) - (\d{1})x(\d{2})*$/S0$2E$3\.srt/' *.srt

どのように解決するのですか?

アスタリスクの前にドットを忘れています。

rename -n 's/(\w+) - (\d{1})x(\d{2}).*$/S0$2E$3\.srt/' *.srt

OpenSUSE, RedHat, Gentoo では、Perl 版の rename . この回答 はその入手方法を示しています。Arch では、このパッケージは perl-rename .