Bash shell脚本随机运行不同的文件

时间:2011-05-25 13:38:42

标签: linux bash

想知道是否有人可以提供一个短的shell脚本,它将随机遍历一个目录,然后“执行”一个特定的文件。基本上我正在寻找一种mp3 shuffle类似的东西:

mp3_123.mp3 mp3_456.mp3 mp3_567.mp3 mp3_678.mp3

我可以重命名所有文件,因此它们是“mp3_1.mp3,mp3_2.mp3等”。但我宁愿让它实际拥有(也许?)所有现有文件名的数组,然后随机抽出一个并在amarok或xine上播放。 (我假设后一部分是“... | exec amarok mp3_678.mp3”或者其他什么。但我不知道如何做第一部分 - 浏览文件名,制作一个数组,然后拔出随机数组值并将其用作文件名。

任何帮助都会很棒!谢谢!

1 个答案:

答案 0 :(得分:3)

find -iname '*/mp3' -print0 | rl -0 | xargs -r0 mplayer

如上所述,sort -Rrl具有相似的语义,

find -iname '*/mp3' -print0 | sort -z -R | xargs -r0 mplayer