BASH从文件中随机读取一行
本学期我得有上《计算机安全管理》课程,其中在上到Hydra暴力破解时,为了方便学生练习,需要生成若干账号。其中账号和密码都要从指定的字典文件中生成,所以就有了从文本文件中随机读取一行的需求,于是我就写了这样一个脚本:
# 获取文件的行数
LINECOUNT=`wc -l rkolin.txt|awk '{printf $1}'`
# 随机选第LINE行
LINE=$(( RANDOM % $LINECOUNT ))
# 输出前LINE行的最后一行
head -n $LINE rkolin.txt|tail -n 1
这个脚本是能够完成任务的要求的,不过我想知道chatGPT怎么看,于是有了下面的对话:
Q:BASH: get a random line from a text file
A:You can use the shuf command in Bash to shuffle the lines of a text file and then use head to get the first line. Here's an example:
shuf -n 1 < filename.txt
This will shuffle the lines of filename.txt and then output the first line. The -n option specifies the number of lines to output, in this case just one.
简直就是最好的老师啊!如果这个东西普及了,对于我们的学习多么的方便!新时代真的要来了,现在担心的就是互联网上的语料用完之后能不能有创造性的答案出现,如果真的能,那就真的是一个新时代了。