私は以下のようにファイル名形式の一連の画像ファイルを用意しています。複製の名前とインクリメント
9407-C-9406-B-038.jpg
9407-C-9406-B-118.jpg
9422-AC-012.jpg
9422-AC-112.jpg
9422-BD-043.jpg
9422-BD-Still-001.jpg
9405_M.jpg
9792A.jpg
9792B.jpg
私の目的に関連する部分は最初の4文字ですが、残りの部分は無関係です。
私は主要な4文字の文字列が保持されるようなファイルの名前を変更したいのですが、拡張子は保持されますが、重複が発生したとき、残りがインクリメントされる: 例:
9422-AC-012.jpg becomes 942200.jpg
9422-AC-112.jpg becomes 942201.jpg
9422-BD-043.jpg becomes 942202.jpg
9422-BD-Still-001.jpg becomes 942203.jpg
9405_M.jpg becomes 940500.jpg
9792A.jpg becomes 979200.jpg
9792B.jpg becomes 979201.jpg
使用して '名前を変更します。最初の4文字の後に文字列を取り除くことができます。ファイル名のインクリメンタル部分が何千にもなるという結果になります。
rename -n -N 0001 's/(?<=.{4}).*/$N.jpg/' *.jpg
誰もが、最初の4つの文字の後にファイル名を取り除くファイルの名前を変更し、重複が発生した場合にのみインクリメントする方法を提案することはできますか?
[私の質問に答える?](http://stackoverflow.com/help/someone-answers) – Cyrus