私は自宅のHTPC(フレックスサーバー)用に多くのDVDをリッピングします。一部のファイル名には不要な文字が含まれています。元のファイル名文字列のほとんどを保持し、その中の不要なテキストを削除したいと思います。ここにいくつかの例があります。
- 既存のファイル名、新しいファイル名の
Apollo 18-1.mp4
削除規則:選択したディレクトリの「-1」で終わるすべてのファイル名を見つけて、「-1」文字列を削除します。-1
Apollo 18.mp4
- ファイル名
ENTOURAGE_DISC1.Title1.avi
、.Title1
新しいファイル名の削除ENTOURAGE_DISC1.avi
規則:選択したディレクトリ内の「.Title1」で終わるすべてのファイル名を見つけて、「.Title1」文字列を削除します。
答え1
zsh
sを使用して、zmv
次の2つの例で要件を推論します。
autoload zmv # best in ~/.zshrc
zmv '(*)(.Title<->|-<->).(mp4|avi)' '$1.$3'
<->
任意の 10 進数のシーケンスです。 (<x-y>
境界を提供しない形)。.Title1
特定-1
の拡張子だけが必要な場合は、いつでも次のように変更できます。
zmv '(*)(.Title|-)1(.[^.]##)' '$1$3'
[^.]##
ドットではなく、1 つ以上の文字と一致します。