ディレクトリからランダムなファイル名を取得し、それをコマンド内で使用するにはどうすればよいでしょうか?

ディレクトリからランダムなファイル名を取得し、それをコマンド内で使用するにはどうすればよいでしょうか?

play ~/Music/audio0.flac repeat -

特定のオーディオ ファイルを繰り返し再生するコマンド。

play ~/Music/${random_audio_file} repeat -

シングルを再生するための疑似コマンド指定されたディレクトリ ( ~/Music/)からのランダムなオーディオファイル、これもリピートです。


後者を実際の作業コマンドとして実行するにはどうすればよいでしょうか?

答え1

そのためにコマンドを活用できますshuf。試してください:

play "$(find ~/Music -name '*.flac' | shuf -n 1)" repeat -

ファイル名にスペースが含まれる場合は二重引用符が必要です。

答え2

このコマンドはランダムな.flacファイルを取得し、 を使用して再生しますomxplayer。 プレーヤーに合わせてコマンドを変更してください。

find . -type f -name '*.flac' | shuf -n 1 | xargs -d "\n" omxplayer

関連情報