
ファイルディレクトリがあります
$ ls -1
ep2.mp4
ep3.mp4
ep4.mp4
ep5.mp4
ep6.mp4
ep7.mp4
rename
Perlユーティリティを使用して、すべてのファイルを次のように作成したいと思います。
ep02.mp4
私が使用するコマンド
rename -n "s/([0-9])/0${1}/" *.mp4
現在の結果
ep2.mp4 renamed as ep0.mp4
ep3.mp4 renamed as ep0.mp4
ep4.mp4 renamed as ep0.mp4
ep5.mp4 renamed as ep0.mp4
ep6.mp4 renamed as ep0.mp4
ep7.mp4 renamed as ep0.mp4
元の番号をキャプチャして新しいファイル名に挿入するにはどうすればよいですか?
答え1
\
代替文の周囲に単一引用符(またはエスケープ)を使用してください。それ以外の場合、シェルはそれを${1}
変数として扱います。
だからあなたはこれを行うことができます:
rename -n 's/([0-9])/0${1}/' *.mp4
または
rename -n "s/([0-9])/0\${1}/" *.mp4