Estou convertendo minha videoteca para x265 de x264 usando o seguinte:
Ele procura x264 em qualquer lugar do nome do arquivo, mas exclui qualquer um que comece com x265, pois esses são os arquivos que foram concluídos.
sudo find /mnt/local/int001/media/TV/ -name '*x264*.mkv' -and -not -name 'X265*.mkv' -print0 | xargs -0 /usr/local/bin/ConvertTo265.sh
Encontrei muitos marcados como h264 (padrão de codificação) em vez de x264 (implementação específica de h264), bem como outras variações.
Como posso melhorar minha pesquisa por:
NÃO contém 'X265*', mas contém UM ou mais dos seguintes:
- 'x264'
- 'h264'
- 'h.264'
Responder1
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 {} +
Aqui, substituindo seus GNUisms ( -and
, -not
, -print0
/ xargs -0
) por seus equivalentes padrão ( -a
ou nada, pois é o padrão, !
, -exec cmd {} +
).
Substitua mkv
por [mM][kK][vV]
se desejar corresponder a extensão também sem distinção entre maiúsculas e minúsculas (ou use -iname
se estiver usando GNU find
ou compatível).
Com zsh
:
set -o extendedglob # best in ~/.zshrc
ConvertTo265.sh ./**/(#i)(*x265*~*[xh](.|)264*).mkv(D.)