다음을 사용하여 비디오 라이브러리를 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*'를 포함하지 않지만 다음 중 하나 이상을 포함합니다.
- 'x264'
- 'h264'
- 'h.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
with로 바꾸십시오 (또는 GNU 또는 호환을 사용하는 경우 사용).[mM][kK][vV]
-iname
find
와 함께 zsh
:
set -o extendedglob # best in ~/.zshrc
ConvertTo265.sh ./**/(#i)(*x265*~*[xh](.|)264*).mkv(D.)