0

名前を変更したいファイルがかなりあります(手動で行うには多すぎます)。通常はAutomatorを使用しますが、他のすべてのファイルをその前のファイルと同じように呼び出す必要がありますが、の2代わりに1

これはこれまでの私のファイルです

xxx - 401a - yyy.zzz
xxx - 401b - yyy.zzz
xxx - 402a - yyy.zzz
xxx - 402b - yyy.zzz
xxx - 403a - yyy.zzz

などですが、名前を次のように変更したいと思います

xxx - 401-pt1.zzz
xxx - 401-pt2.zzz
xxx - 402-pt1.zzz
xxx - 402-pt2.zzz
xxx - 403-pt1.zzz

とにかく、これを自動化するには?私は Automator をめったに使用したことがないため、私は専門家と呼ばれるものではありません。

編集:これは私が達成しようとしているものです: http://wiki.plexapp.com/index.php/Media_Naming_and_Organization_Guide#Stacked_Episodes

4

1 に答える 1

2

そのツールについて何も知らない場合は、他のものを使用してもかまいませんか? 簡単なシェルコマンドはどうですか?

これは、汎用性のレベルを上げた Bash での同じ操作です。最初の 2 つは yyy と zzz がハードコーディングされているので気にしないかもしれませんが、3 番目のコマンドを理解するために sed コマンドについて少し説明しました。

for file in * ; do mv "$file" "$(echo $file | sed 's/a - yyy/-pt1/g')"; mv "$file" "$(echo $file | sed 's/b - yyy/-pt2/g')"; done

for file in * ; do mv "$file" "$(echo $file | sed 's/a - .*.zzz/-pt1.zzz/g')"; mv "$file" "$(echo $file | sed 's/b - .*.zzz/-pt2.zzz/g')"; done

for file in * ; do mv "$file" "$(echo $file | sed -r 's/a - .*.([a-z]{3})/-pt1.\1/')"; mv "$file" "$(echo $file | sed -r 's/b - .*.([a-z]{3})/-pt2.\1/')"; done

もちろん、他のコマンドには他にも多くの方法があるはずです。バッチ全体で mv が 2 回実行されるため、重要でないエラーが発生します。

于 2013-06-20T19:44:37.310 に答える