find 查找一个随机文件

sh/bash/dash/ksh/zsh等Shell脚本
回复
mad_frog
帖子: 55
注册时间: 2011-06-29 11:26

find 查找一个随机文件

#1

帖子 mad_frog » 2011-08-26 10:19

各位大神,
find . -type f
a/b/1.txt
c/2.txt
d/3.txt
4.txt
如何只随机输出一个文件啊,比如随机输出a/b/1.txt或是d/3.txt
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

Re: find 查找一个随机文件

#2

帖子 eexpress » 2011-08-26 11:26

srand; find . -type f| sed -n "`rand -M `find . -type f|wc -l``p"

这事情,用bash是蛋疼的。
你这样做,有啥意义?
● 鸣学
头像
我就是我2
帖子: 1215
注册时间: 2008-12-13 10:55
来自: the Earth
联系:

Re: find 查找一个随机文件

#3

帖子 我就是我2 » 2011-08-26 11:36

:em20 :em20 :em20
还没学到数组.数组中的随机一个元素.: 只有曲线救国了

代码: 全选

#!/bin/zsh
for i in `find /tmp/test -type f`
do
name=($name $i);
done
while :
do
num=$((RANDOM%4+1))
echo "${name[$num]}"
sleep 2
done

请赐教 :em06

有个问题, bash和zsh在处理 语句 name=($name $i); 不一样.
bash 不能给name重新赋值
而zsh可以, 行为类似C中 name+=i
苏东坡问佛印道:“人人皆念观世音菩萨,观世音菩萨念谁?”
佛印答道:“念观世音菩萨。”
苏东坡诧异:“为何亦念观世音菩萨?”
曰:“求人不如求己。”


dropbox 誰好奇,誰來點
勞碌一生又如何,虛度一生又如何,你過得開心嗎?人活著就要開心嘛!
fnan
帖子: 919
注册时间: 2009-07-01 22:04

Re: find 查找一个随机文件

#4

帖子 fnan » 2011-08-26 19:09

目录下有超二十万文件,用find等到冒火,改用ls:
f=($(ls -Rail|sed -rn 's/(^\S+) -.*/\1/p'));find -inum ${f[$(($RANDOM$RANDOM%${#f[*]}))]}
上次由 fnan 在 2011-08-26 19:56,总共编辑 1 次。
bash不如perl精妙,学不到lisp的皮毛,远不够c++强悍,不过可以用。
头像
我就是我2
帖子: 1215
注册时间: 2008-12-13 10:55
来自: the Earth
联系:

Re: find 查找一个随机文件

#5

帖子 我就是我2 » 2011-08-26 19:30

你这样做,有啥意义?
同问LZ
苏东坡问佛印道:“人人皆念观世音菩萨,观世音菩萨念谁?”
佛印答道:“念观世音菩萨。”
苏东坡诧异:“为何亦念观世音菩萨?”
曰:“求人不如求己。”


dropbox 誰好奇,誰來點
勞碌一生又如何,虛度一生又如何,你過得開心嗎?人活著就要開心嘛!
tusooa
帖子: 6548
注册时间: 2008-10-31 22:12
系统: 践兔
联系:

Re: find 查找一个随机文件

#6

帖子 tusooa » 2011-09-03 16:15

我就是我2 写了::em20 :em20 :em20
还没学到数组.数组中的随机一个元素.: 只有曲线救国了

代码: 全选

#!/bin/zsh
for i in `find /tmp/test -type f`
do
name=($name $i);
done
while :
do
num=$((RANDOM%4+1))
echo "${name[$num]}"
sleep 2
done

请赐教 :em06

有个问题, bash和zsh在处理 语句 name=($name $i); 不一样.
bash 不能给name重新赋值
而zsh可以, 行为类似C中 name+=i
find ... | sort -R | head -n1

代码: 全选

] ls -ld //
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

Re: find 查找一个随机文件

#7

帖子 eexpress » 2011-09-03 16:29

sort -R。 tusooa, 是人才。这都注意到了。
只是,能确定这是真随机数不。
● 鸣学
ICEEN
帖子: 1
注册时间: 2011-03-12 18:44

Re: find 查找一个随机文件

#8

帖子 ICEEN » 2011-09-10 9:53

find . -type f |shuf
回复