shell 随机从文件中抽取若干行的实现方法
方法一
通过shuf命令:
- shuf 命令的选项:
- -e, --echo :将每个参数视为输入行
- -i, --input-range=LO-HI :将LO 到HI 的每个数字视为输入行
- -n, --head-count=行数 : 最多输出指定的行数
- -o, --output=文件 :将结果输出到指定文件而非标准输出
- --random-source=文件 :从指定文件获得随机比特
- -z, --zero-terminated :以0 结束行而非新行
- --help :显示此帮助信息并退出
- --version :显示版本信息并退出
shuf -n5。文件名
方法二:
sort -R 文件名 | head -5
方法三:
awk -vN=5 -vC="`wc -l file`" 'BEGIN{srand();while(n<N){i=int(rand()*C+1);if(!(i in a)){a[i]++;n++}}}NR in a' 文件名
方法四:
while read line;do echo "$line $RANDOM";done < 文件名 | sort -k2,2n| awk 'NR<=5{print $1}'
热门日志
分类
- Django(4)
- ssdb(1)
- Mac(7)
- C(1)
- memcache(1)
- Python(32)
- Vim(8)
- sed(2)
- ansible(3)
- awk(4)
- shell(3)
- about(1)
- git(9)
- bat(4)
- svn(0)
- docker(1)
- Tornado(1)
- go(2)
- 架构(18)
- Vue(1)
- game(2)
- Html(6)
- Java(8)
- Mysql(37)
- Ajax(2)
- Jsp(1)
- Struts(8)
- Linux(72)
- JavaScript(39)
- Staruml(0)
- Mouth(1)
- Php(102)
- Windows(8)
- Message(48)
- Lua(10)
- Compute(1)
- Redis(7)
- Nginx(12)
- Jquery(1)
- Apache(1)
- cocos2d-x(8)