次のコマンドを使用して、ビデオライブラリを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つ以上が含まれています。
- 'x264'
- 'h264'
- '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 {} +
これはGNUism(-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.)