mmvモードが不明です。次のパターンを持つ多くのビデオファイルがあります。
my.program.name.season.NN.episode.NN.-.title.avi
次の場所に移動する必要があります。
my.program.name.sNNeNN.title.avi
パターンがうまくいかないようです。
ベストアンサー1
長い話を短く
rename -n 's/^((\w+\.+){3})(.).*\.(.*)\.(.).*\.(.*)\.\-(\..*)$/$1$3$4$5$6$7/' *
\w+
1つ以上の単語文字と一致します(例:[a-zA-Z0-9_]+
[1])。\.+
1つ以上のドット(.
)文字と一致します。 [2]ノート文字を
\.
一致させます.
。正規表現\.
で特別な意味を持つには、asを使用する必要があります。これをエスケープコードといい、次の文字の元のリテラルセマンティクスを復元します。.
.
\
(\w+\.+){3}
^
ファイル名の先頭から始まる上記の[1]、[2]文字グループのうち最大3倍まで一致します(名前の先頭と一致)。
一致または返されます。my.program.name.
ノート正規表現の周りの追加の括弧は、グループ化を一致させるために使用されます。グループマッチングは、次から始めて
(
終了し、)
いわゆる提供に使用されます。逆参照。逆参照には、特殊変数に格納されている一致する部分文字列が含まれます。1、2ドル、…、$9ここで、$1 には、最初の括弧のペアと一致する部分文字列が含まれます。.
メタ文字ドット(.)は、すべての単一文字と一致します。たとえば、...
任意の3文字を一致させます。したがって、最初の文字を一致させます(.)
。season
s
.*\.
.
最初の文字が表示されるまで、上記の単一文字の後のすべての項目と一致します。ご覧のとおり、一致する名前から削除したいので、一致グループとしてキャプチャしませんでしたeason.
。(.*)
上記の一致以降のすべての項目と一致します。これはNN
ファイル名に保持したいので、ここでは括弧を使用します。\.
上記試合後のポイントと一致します。まず来るのは.
後で来るNN
。(.)
今回も、上記の一致から最初の単一文字を一致させます。これは返されますe
。.*\.
上記の一致から最初の一致まですべての項目を一致させます.
。一致しますpisode.
。(.*)
上記の一致の最後の一致点以降のすべての項目と一致します。これは2番目のものと一致しますNN
。\.\-
ドット.
の後にダッシュが来るのと一致します-
。一致または返されます.-
最後に、ドット
(\..*)$
と.
その後のすべてのエントリをファイル名の最後まで一致させます。$
ファイル名または入力文字列の末尾と一致します。
注:-n
実際の名前を変更するには、オプションを削除してください。