首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

shell脚本随机输出一个资料的25行

2013-04-05 
shell脚本随机输出一个文件的25行前言好久没写shell脚本了,今天看到群里有这么一个需求,截图如下:我也是复

shell脚本随机输出一个文件的25行
前言好久没写shell脚本了,今天看到群里有这么一个需求,截图如下:
shell脚本随机输出一个资料的25行

我也是复习一下shell脚本,就顺手写了个程序测试了一下,基本上通过了
思路

    首先,用shell脚本按行读取文本,将每一行存入一个数组中每次选择一个随机数,来从数组中取数据注意,不能是重复的行,所以随机数有标记字段

Shell脚本
#!/bin/bash#文件位置file="./test.txt"#计数器i=0#按行读取文件内容,存入arr数组中for line in $(awk '{print $0}' $file)doarr[$i]=$linei=$(expr $i + 1)done#构造随机数数组,假定文件只有100行,当random[i]=0时说明第i行没有被读取for i in $(seq 1 100)dorandom[$i]=0done#构造随机数,随机选取25行for ((i=0; i<25;))doindex=$RANDOM%100if [ ${random[$index]} -eq 0 ]; thenrandom[$index]=1echo ${arr[$index]}i=$(expr $i + 1)fidone

后记欢迎大家跟帖讨论,经常熟悉一下语言,才不至于生疏!

热点排行