この形式のファイルがいくつかあります。
##。##-ファイル名.mp4
私はそれらの名前を変更したい:
s ## e ##。mp4
これは私が思いついたものです:
rename -n "s/^(\ d {2})\。(\ d {2})。*/s $ 1e $ 2.mp4 /"
http://regexr.com/ でテストしたときに機能しますが、Ubuntu 12.04インストールでコマンドを実行すると、すべてのファイルの名前がse.mp4
に変更されます
そのため、グループが無視されているか、挿入されていないか、それらの行に沿った何かが見えます。目がくらむほど明らかな何かを見逃していますか、それとも何かが起こっていますか?
私はpyRenamerを使用することになりましたが、それは素晴らしく機能しましたが、rename
が適切に機能しない理由を知りたいです。
応援よろしくお願いします。
おそらく二重引用符を使用すると、シェルで$1
と$2
を展開できるようになると思います
$ rename -nv "s/^(\d{2})\.(\d{2}).*/s$1e$2.mp4/" *.mp4
12.34 File name.mp4 renamed as se.mp4
一方、名前変更式を単一引用符で囲む
$ rename -nv 's/^(\d{2})\.(\d{2}).*/s$1e$2.mp4/' *.mp4
12.34 File name.mp4 renamed as s12e34.mp4