미리 정의된 정렬 순서로 mpv가 포함된 모든 비디오를 시청하려면 다음을 수행할 수 있습니다.
mpv /path/to/videos/*
mpv
여러 파일을 매개변수로 받아 순차적으로 재생할 수 있기 때문입니다 .
이 파일들을 mpv로 전달하고 싶지만 무작위로 정렬되어 있어서 시청을 시작할 때마다 예상치 못한 일이 발생합니다.
내가 지금까지 시도한 것은 다음과 같습니다.
ls /path/to/videos/* | sort -R | while read file; do mpv $file; done
이 변형은 각 비디오에 대해 새 인스턴스를 시작하고 새 창에 항상 초점이 맞춰지기 때문에 내 요구 사항에 적합하지 않습니다.
답변1
서브쉘을 사용하여 임의의 행을 다시 인수로 수집하십시오 mpv
. echo
시험 실행 결과가 양호하면 디버깅을 제거하십시오.
echo mpv $(print -l /path/to/videos/* | sort -R)
ls
( 글로벌 확장 결과를 단순히 한 줄씩 인쇄하는 것보다 비용이 더 많이 들기 때문에 를 사용할 필요도 없습니다 print -l
.)
ZSH 내에서 목록을 섞는 영리한 glob 트릭을 시도해 보세요.
echo mpv *(oe:REPLY=\$RANDOM:)
답변2
mpv
파일 순서를 섞는 옵션이 내장되어 있습니다( --shuffle
).
당신이 사용할 수있는mpv --shuffle /path/to/videos/*