免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123下一页
最近访问板块 发新帖
查看: 4893 | 回复: 29
打印 上一主题 下一主题

求救!shell随机输出! [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-07-23 16:16 |只看该作者 |倒序浏览
-rw-------   1 root root 401M Jul  3 08:02 20080703-080001.sql.gz
-rw-------   1 root root 401M Jul  3 20:02 20080703-200002.sql.gz
-rw-------   1 root root 401M Jul  4 02:02 20080704-020001.sql.gz
-rw-------   1 root root 401M Jul  4 08:02 20080704-080001.sql.gz
-rw-------   1 root root 401M Jul  4 20:02 20080704-200001.sql.gz
-rw-------   1 root root 401M Jul  5 02:02 20080705-020001.sql.gz
-rw-------   1 root root 401M Jul  5 08:02 20080705-080001.sql.gz
-rw-------   1 root root 401M Jul  5 20:02 20080705-200001.sql.gz
-rw-------   1 root root 402M Jul  6 02:02 20080706-020001.sql.gz
-rw-------   1 root root 401M Jul  6 08:02 20080706-080001.sql.gz
-rw-------   1 root root 402M Jul  6 20:02 20080706-200001.sql.gz
-rw-------   1 root root 402M Jul  8 20:02 20080708-200001.sql.gz
-rw-------   1 root root 402M Jul  9 02:02 20080709-020001.sql.gz
-rw-------   1 root root 402M Jul  9 08:02 20080709-080001.sql.gz
-rw-------   1 root root 403M Jul  9 20:02 20080709-200001.sql.gz
-rw-------   1 root root 403M Jul 11 02:02 20080711-020001.sql.gz
-rw-------   1 root root 403M Jul 11 08:02 20080711-080001.sql.gz
-rw-------   1 root root 403M Jul 11 20:01 20080711-200001.sql.gz
-rw-------   1 root root 403M Jul 13 02:02 20080713-020001.sql.gz
-rw-------   1 root root 403M Jul 13 08:02 20080713-080001.sql.gz
-rw-------   1 root root 404M Jul 13 20:02 20080713-200001.sql.gz
-rw-------   1 root root 404M Jul 14 02:02 20080714-020001.sql.gz
-rw-------   1 root root 404M Jul 14 08:02 20080714-080001.sql.gz
-rw-------   1 root root 404M Jul 14 20:02 20080714-200001.sql.gz
-rw-------   1 root root 404M Jul 15 02:02 20080715-020001.sql.gz
-rw-------   1 root root 404M Jul 15 08:02 20080715-080001.sql.gz
-rw-------   1 root root 404M Jul 15 20:02 20080715-200001.sql.gz
-rw-------   1 root root 404M Jul 16 02:02 20080716-020001.sql.gz
-rw-------   1 root root 404M Jul 16 08:02 20080716-080001.sql.gz





某目录下有如上文件,请问如何使用shell随机打印如上5条文件名字,请高人指点,万分感激。

论坛徽章:
23
15-16赛季CBA联赛之吉林
日期:2017-12-21 16:39:27白羊座
日期:2014-10-27 11:14:37申猴
日期:2014-10-23 08:36:23金牛座
日期:2014-09-30 08:26:49午马
日期:2014-09-29 09:40:16射手座
日期:2014-11-25 08:56:112015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:49:0315-16赛季CBA联赛之山东
日期:2017-12-21 16:39:1915-16赛季CBA联赛之广东
日期:2016-01-19 13:33:372015亚冠之山东鲁能
日期:2015-10-13 09:39:062015亚冠之西悉尼流浪者
日期:2015-09-21 08:27:57
2 [报告]
发表于 2008-07-23 16:42 |只看该作者
  1. #! /bin/bash
  2. arr=($(ls *.sql.gz))
  3. len=$((${#arr[@]}+1))

  4. for((i=1;i<6;i++))
  5. do
  6.         RANDOM=$(($$+i))
  7.         echo ${arr[$((RANDOM%len))]}
  8. done
复制代码

论坛徽章:
0
3 [报告]
发表于 2008-07-23 16:58 |只看该作者
RANDOM是shell保留的变量吧用个其他变量
这个应该是顺序取吧

论坛徽章:
23
15-16赛季CBA联赛之吉林
日期:2017-12-21 16:39:27白羊座
日期:2014-10-27 11:14:37申猴
日期:2014-10-23 08:36:23金牛座
日期:2014-09-30 08:26:49午马
日期:2014-09-29 09:40:16射手座
日期:2014-11-25 08:56:112015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:49:0315-16赛季CBA联赛之山东
日期:2017-12-21 16:39:1915-16赛季CBA联赛之广东
日期:2016-01-19 13:33:372015亚冠之山东鲁能
日期:2015-10-13 09:39:062015亚冠之西悉尼流浪者
日期:2015-09-21 08:27:57
4 [报告]
发表于 2008-07-23 17:08 |只看该作者
原帖由 li2002 于 2008-7-23 16:58 发表
RANDOM是shell保留的变量吧用个其他变量
这个应该是顺序取吧


就是要用RANDOM来随机呀,只是可能会随机出相同的文件名。
如果需要5个不同的,那么还需要一个数组来记录。

论坛徽章:
0
5 [报告]
发表于 2008-07-23 17:12 |只看该作者
原帖由 ly5066113 于 2008-7-23 17:08 发表


就是要用RANDOM来随机呀,只是可能会随机出相同的文件名。
如果需要5个不同的,那么还需要一个数组来记录。

你对RANDOM赋值,再取RANDOM应该不是你刚才的赋值

论坛徽章:
23
15-16赛季CBA联赛之吉林
日期:2017-12-21 16:39:27白羊座
日期:2014-10-27 11:14:37申猴
日期:2014-10-23 08:36:23金牛座
日期:2014-09-30 08:26:49午马
日期:2014-09-29 09:40:16射手座
日期:2014-11-25 08:56:112015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:49:0315-16赛季CBA联赛之山东
日期:2017-12-21 16:39:1915-16赛季CBA联赛之广东
日期:2016-01-19 13:33:372015亚冠之山东鲁能
日期:2015-10-13 09:39:062015亚冠之西悉尼流浪者
日期:2015-09-21 08:27:57
6 [报告]
发表于 2008-07-23 17:13 |只看该作者
原帖由 li2002 于 2008-7-23 17:12 发表

你对RANDOM赋值,再取RANDOM应该不是你刚才的赋值


是呀,赋值就是为了设定随机序列的种子,然后在取随机数。

论坛徽章:
0
7 [报告]
发表于 2008-07-23 17:16 |只看该作者
RANDOM不需要设定种子吧

论坛徽章:
23
15-16赛季CBA联赛之吉林
日期:2017-12-21 16:39:27白羊座
日期:2014-10-27 11:14:37申猴
日期:2014-10-23 08:36:23金牛座
日期:2014-09-30 08:26:49午马
日期:2014-09-29 09:40:16射手座
日期:2014-11-25 08:56:112015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:49:0315-16赛季CBA联赛之山东
日期:2017-12-21 16:39:1915-16赛季CBA联赛之广东
日期:2016-01-19 13:33:372015亚冠之山东鲁能
日期:2015-10-13 09:39:062015亚冠之西悉尼流浪者
日期:2015-09-21 08:27:57
8 [报告]
发表于 2008-07-23 17:20 |只看该作者
原帖由 li2002 于 2008-7-23 17:16 发表
RANDOM不需要设定种子吧


个人习惯问题,不设定好像默认是那date +%s来设定的吧,不记得了。
不管怎么样,种子是一定要有的。

论坛徽章:
0
9 [报告]
发表于 2008-07-23 17:27 |只看该作者
种子当然有,系统代劳了

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
10 [报告]
发表于 2008-07-23 18:17 |只看该作者
原帖由 li2002 于 2008-7-23 17:27 发表
种子当然有,系统代劳了

你把问题复杂化了
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP