ファイル名の特定の場所からランダムな文字列を削除します。

ファイル名の特定の場所からランダムな文字列を削除します。

私はYouTubeを使ってYouTubeから何十ものファイルをダウンロードしましたyoutube-dl。良い機能です。全て検索してみると相当数がランダム数字と大文字、小文字で終わる場合が多かったです。良いvideo_name_number_of_video_-_the_name_of_episode_part_number-12BUInjas32d1.avi

$ rename -n 's/-.*avi/.avi/i' *.avi- 最初のものを選択し-video_name_number_of_video_.avi名前を残してください。

文字と数字の組み合わせを削除するオプションはありますか?助けてくれてありがとう。そしてその中には13桁の数字しかありません。

追加:誰かが私が望むものを尋ねました。だから私は明らかにファイル名からその13桁の数字を削除し、それ以来幸せに暮らしたいと思います。私の目標を達成するための実用的な質問を大胆に投げました。

ベストアンサー1

私はこれがYouTubeのビデオIDであると仮定します。次の正規表現を使用して削除できます。

s/-[^-.]{13}\.avi$/.avi/

これをいくつかの部分に分割すると、次のようになります。

  • -- ただハイフンだけ
  • [^-.]{13}- ハイフンやピリオドではなく、正確に13文字
  • \.avi- ファイル名の「.avi」と一致します。
  • $アンカーポイントは文字列(ファイル名)の末尾にあります。

おすすめ記事