shell脚本:随机抽取任意数量的学生且无重复

=====================================================
随机抽取学生终极版本!!

#!/bin/bash

touch ./temp

read -p "输入抽取人数" C
while [ sort temp | uniq | wc -l != $C ]

do

echo expr $RANDOM % 15 >> temp

done

Z=$(sort temp | uniq)
echo $Z

jw=(‘居思涵‘ ‘李月‘ ‘李鑫‘ ‘唐伟宏‘ ‘王大高‘ ‘纪平‘ ‘陈磊‘ ‘赵鹏凯‘ ‘聂田蔚‘ ‘张政‘ ‘刘宏杰‘ ‘黄辉‘ ‘郑文‘ ‘靖儿‘ ‘啊莉‘ )

for v in ${Z[@]}
do
echo ${jw[$v]}
done

rm temp

===================================================================================

原文地址:http://blog.51cto.com/13490688/2306732

时间: 2024-11-10 14:14:15

shell脚本:随机抽取任意数量的学生且无重复的相关文章

shell 脚本 随机抽取班上学生

#!/bin/bash # jw=('王浩' '谢云生' '黄科杨' '何星宇' '张宸兵' '邓培林' '刘桃' '杨沛东' '楚齐文' '咸鱼' '杨东' '黄庭辉' '郑少文' '师靖' '肖洪森' ) #定义数组 a=$(( $RANDOM % 15 )) #生成 0~14 的 随机数 $RANDOM 为随机变量 echo ${jw[a]} #输出数组 数组下标从0开始

shell 脚本随机抽取班级学生

#/bin/bash jw=(name1,name2,name3......name39) for i in {1..3} do a=$(date +%N) b=$(expr $a % 39) echo "学号:"$[$b + 1]" "${jw[$b]} done

mysql随机抽取一定数量的记录

以前碰见这种使用场景都是直接order by rand()来处理的,但是效率实在是不敢恭维,所以最近又碰见这种场景,在网上找寻下比较好的解决办法. 1.order by rand() 写法: SELECT id FROM `table` ORDER BY rand() 这种写法的缺点是rand函数在order by中被执行多次,影响效率. 2.max(id) * rand() 使用join 写法: SELECT * FROM `table` AS t1 JOIN ( SELECT ROUND(

Linux shell脚本基础学习详细介绍(完整版)一

Linux shell脚本基础学习这里我们先来第一讲,介绍shell的语法基础,开头.注释.变量和 环境变量,向大家做一个基础的介绍,虽然不涉及具体东西,但是打好基础是以后学习轻松地前提.1. Linux 脚本编写基础◆1.1 语法基本介绍 1.1.1 开头 程序必须以下面的行开始(必须方在文件的第一行): #!/bin/sh 符号#!用来告诉系统它后面的参数是用来执行该文件的程序.在这个例子中我们使用/bin/sh来执行程序. 当编辑好脚本时,如果要执行该脚本,还必须使其可执行. 要使脚本可执

shell脚本总结

shell总结 shell脚本的本质是shell命令的有序集合 建立shell脚本的步骤:建立shell脚本,编写任意多行操作系统命令或shell命令,增加文件的执行权限,结束 shell变量 shell允许用户建立变量存储数据,但不支持数据类型.将任何赋给变量的值都解释为一串字符 shell有如下四种变量:用户自定义变量,位置变量,预定义变量,环境变量 用户自定义变量: 定义变量:COUNT=1 使用时前面加$:echo $COUNT 删除变量的赋值:unset COUNT 位置变量: $0 

linux下shell脚本学习

在Linux系统中,虽然有各种各样的图形化接口工具,但是sell仍然是一个非常灵活的工具.Shell不仅仅是命令的收集,而且是一门非常棒的编程语言.您可以通过使用shell使大量的任务自动化,shell特别擅长系统管理任务,尤其适合那些易用性.可维护性和便携性比效率更重要的任务. 下面,让我们一起来看看shell是如何工作的: 1. 建立一个脚本 Linux中有好多中不同的shell,但是通常我们使用bash (bourne again shell) 进行shell编程,因为bash是免费的并且

SHELL 脚本

一个很不错的bash脚本编写教程,至少没接触过BASH的也能看懂 建立一个脚本 Linux中有好多中不同的shell,但是通常我们使用bash (bourne again shell) 进行shell编程,因为bash是免费的并且很容易使用.所以在本文中笔者所提供的脚本都是使用bash(但是在大多数情况下,这些脚本同样可以在 bash的大姐,bourne shell中运行).  如同其他语言一样,通过我们使用任意一种文字编辑器,比如nedit.kedit.emacs.vi  等来编写我们的she

Shell脚本编写教程

建立一个脚本    Linux中有好多中不同的shell,但是通常我们使用bash (bourne again shell) 进行shell编程,因为bash是免费的并且很容易使用.所以在本文中笔者所提供的脚本都是使用bash(但是在大多数情况下,这些脚本同样可以在 bash的大姐,bourne shell中运行). 如同其他语言一样,通过我们使用任意一种文字编辑器,比如nedit.kedit.emacs.vi 等来编写我们的shell程序. 程序必须以下面的行开始(必须方在文件的第一行):#!

shell 脚本编写基础

在进行Linux测试时编写脚本是必不可少的,Shell脚本的名称可以随便定义,也不要什么后缀名,例如可以写abc,smartzip这类名称,运行时只要键入 ./smartzip就能运行脚本了.. 每行命令开头处不用就空格也行.. 第1部分. linux 脚本编写基础 1.1 语法基本介绍1.1.1 开头程序必须以下面的行开始(必须方在文件的第一行):#!/bin/sh 符号#!用来告诉系统它后面的参数是用来执行该文件的程序.在这个例子中我们使用/bin/sh来执行程序. 当编辑好脚本时,如果要执