Wie erhält man einen zufälligen Dateinamen aus einem Verzeichnis und verwendet ihn in einem Befehl?

Wie erhält man einen zufälligen Dateinamen aus einem Verzeichnis und verwendet ihn in einem Befehl?

play ~/Music/audio0.flac repeat -

Ein Befehl zum wiederholten Abspielen einer einzelnen bestimmten Audiodatei.

play ~/Music/${random_audio_file} repeat -

Ein Pseudobefehl zum Abspielen einer einzelnenzufällige Audiodatei aus dem angegebenen Verzeichnis ( ~/Music/), auch in Dauerschleife.


Wie lässt sich Letzteres als wirklich funktionierender Befehl umsetzen?

Antwort1

Sie können den shufBefehl hierfür nutzen. Versuchen Sie:

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

Die Anführungszeichen sind erforderlich, falls Ihre Dateinamen Leerzeichen enthalten könnten.

Antwort2

Dieser Befehl ruft eine zufällige .flacDatei ab und spielt sie ab omxplayer. Passen Sie den Befehl an Ihren Player an.

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

verwandte Informationen