分页: 1 / 1

求助-shell随机取目录中的一个文件

发表于 : 2012-04-25 15:29
kbens85
求助:例如 A目录下有 好多文件夹 和文件
我想每次从A目录里面 随机抽取一个文件 有什么好方法吗?

Re: 求助-shell随机取目录中的一个文件

发表于 : 2012-04-25 15:34
eexpress
ls -1|sed -n '`$RANDOM % 50`p'
大概这样。50可以ls -1|wc -l
自己调试。

Re: 求助-shell随机取目录中的一个文件

发表于 : 2012-04-25 15:39
kbens85
eexpress 写了:ls -1|sed -n '`$RANDOM % 50`p'
大概这样。50可以ls -1|wc -l
自己调试。

多谢,我调试下。。

Re: 求助-shell随机取目录中的一个文件

发表于 : 2012-04-25 16:38
lilydjwg

代码: 全选

ls | sort -R | head -n1
我喜欢这样。

Re: 求助-shell随机取目录中的一个文件

发表于 : 2012-04-25 17:30
aerofox
也以可这样:

代码: 全选

files=(*)
echo ${files[((RANDOM%${#files[*]}))]}

Re: 求助-shell随机取目录中的一个文件

发表于 : 2012-04-26 15:22
lilydjwg
aerofox 写了:也以可这样:

代码: 全选

files=(*)
echo ${files[((RANDOM%${#files[*]}))]}
方案不错,不过我想把 find -H ~/音乐 -type f -name '*.mp3' 的结果每行一个元素存到数组里怎么弄呢?我用的 zsh。

Re: 求助-shell随机取目录中的一个文件

发表于 : 2012-04-26 15:35
eexpress
嗯。忘记sort -R了。越简单越好。

一个shell,搞啥数组。蛋疼的哦。至少搞下hash嘛。

Re: 求助-shell随机取目录中的一个文件

发表于 : 2012-04-26 15:41
lilydjwg
eexpress 写了:嗯。忘记sort -R了。越简单越好。

一个shell,搞啥数组。蛋疼的哦。至少搞下hash嘛。
zsh 有 associative array 的哦~

Re: 求助-shell随机取目录中的一个文件

发表于 : 2012-04-26 15:54
eexpress
啥哦,在pl前面,都是废品。
在shell上,不浪费时间。

Re: 求助-shell随机取目录中的一个文件

发表于 : 2012-05-02 14:30
kbens85
lilydjwg 写了:

代码: 全选

ls | sort -R | head -n1
我喜欢这样。

我这centos5.2的测试机上,sort 还没有-R 的选项呢。

Re: 求助-shell随机取目录中的一个文件

发表于 : 2012-05-02 14:35
kbens85
aerofox 写了:也以可这样:

代码: 全选

files=(*)
echo ${files[((RANDOM%${#files[*]}))]}
可以详解下这个的意思吗?有点看不太懂。。。

Re: 求助-shell随机取目录中的一个文件

发表于 : 2012-05-02 14:49
tarenafeng
随机调取