事前定義されたソート順で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
(グローバル拡張結果を1行ずつ印刷するよりもコストがかかるため、使用する必要もありませんprint -l
。)
ZSH内でリストを混ぜる巧妙なglobのトリックを試してみてください。
echo mpv *(oe:REPLY=\$RANDOM:)
答え2
mpv
ファイルの順序を混在させるオプションが組み込まれています(--shuffle
)。
使用できるmpv --shuffle /path/to/videos/*