获得随机数常用的方法是通过 $RANDOM 变量获得,下面的例子结合这个变量随机获取一个文本中的行数。
[Bash shell] 纯文本查看 复制代码
#!/bin/sh
for n in $(seq 1 10); do
line=`echo $[$RANDOM % 20]`
cat tz.txt |head -n $line |tail -n 1
done
上面我们随机输出文本文件 tz.txt 中某行的内容。seq 命令可参考:http://www.groad.net/bbs/read.php?tid-3470.html
head -n $line 是获得前面的第几行,然后再通过 tail -n 1 获得这几行中的最后一行,就是我们要读取的某一行($line)。
比如脚本输出: [root@centos shell]# sh random.sh
唉,怎么说呢
万法皆空~
嗯,确实是这样的啊~
今天就这样吧
呵呵,好像挺有道理的
呵呵,好像挺有道理的
绝对支持你!
今天就这样吧
算了,还是不说了
进来看下啥情况
因为 tx.txt 中一共有 26 行,所以为了得到更好的输出分布,所以脚本中要对 20 求余。
这个脚本有真么作用?
呵呵,想象一下,可以先制作成一个灌水辞典,然后使用自动 POST 的脚本来达到一个随机灌水的目的。关于灌水用的工具,首选 curl ,可以参考文章:
http://www.groad.net/bbs/read.php?tid-838.html |