次のようにして、ビデオ ライブラリを x264 から x265 に変換しています。
ファイル名の任意の場所にある x264 を検索しますが、x265 で始まるものは完了したファイルであるため除外します。
sudo find /mnt/local/int001/media/TV/ -name '*x264*.mkv' -and -not -name 'X265*.mkv' -print0 | xargs -0 /usr/local/bin/ConvertTo265.sh
x264 (h264 の特定の実装) ではなく h264 (エンコード標準) としてタグ付けされたものや、その他のバリエーションが多数見つかりました。
以下の検索を強化するにはどうすればいいですか?
「X265*」は含まれませんが、次の 1 つ以上が含まれます。
- '264ビット'
- '264 文字'
- '264ページ'
答え1
find /mnt/local/int001/media/TV/ \
\( -name '*[xXhH]264*.mkv' -o -name '*[xXhH].264*.mkv' \) \
! -name '*[xX]265*' -type f -exec /usr/local/bin/ConvertTo265.sh {} +
ここで、GNU 語 ( -and
、-not
、-print0
/ xargs -0
) を標準的な同等語 (-a
または、デフォルトである 、 なので何もなし!
)-exec cmd {} +
に置き換えます。
拡張子でも大文字と小文字を区別せずに一致させたい場合はmkv
に置き換えます(または、 GNUまたは互換機能を使用している場合は を使用します)。[mM][kK][vV]
-iname
find
とzsh
:
set -o extendedglob # best in ~/.zshrc
ConvertTo265.sh ./**/(#i)(*x265*~*[xh](.|)264*).mkv(D.)