I want to be able to use kaffeine or another media player to randomly play an arbitrary number of the newest files in a particular directory. Preferably with as little typing as possible, and I am not opposed to using a script or an alias. I figure there's some way I can use head and ls -1 or some other parameter to create a list that I can pass to kaffeine (mplayer, dragon player, etc) as a parameter. I'm using bash on Ubuntu Jaunty Jackalope if it makes any difference.


Here is a function to create the file list:

function newest () {
    find . -type f -printf "%T@ %f\n" | sort -n | tail -n ${1:-15} | cut -f 2 -d " " | sort -R

It defaults to 15 files, but accepts a parameter for a different number. The last sort puts the list in random order.

For mplayer, you should be able to do:

mplayer $(newest 10)


mplayer <(newest 10)

Note that mplayer has a -shuffle option.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.