shuf 命令: 随机排序文件
有时候我们需要将文本的顺序打乱,也就是随机排序,我以前的做法是写个shell,利用 bash 里的内置变量 $RANDOM 进行排序,然后打印。代码如下:
while read line;do echo $RANDOM $line; done < file | sort -n | sed 's/[^ ]\+ //'
这里取了个巧而已。虽然也能实现需求,但是如果遇到大文件,本身 shell 的效率是很低的。偶然得知系统本身有一个命令是专职干这事儿的,那就是 shuf 命令,那效率,是杠杠滴啊。简单介绍下:
1. 这个命令属于 coreutils 包,如果系统没有此命令,请 yum install coreutils 进行安装。
2. 它也能够接受标准输入,即管道
参数:
-n 最多显示多少行
-o 将随机排序后的输出写到一个文件中
更多信息请参考man页。
另外,今天发现用 sort -R也可以随机排序,只是效率比shuf稍微慢一点儿!man sort 的解释如下:
-R, --random-sortsort by random hash of keys
2013.11.13 更新
1. 在centos 5.5下,sort版本为sort (GNU coreutils) 5.97,没有-R选项
2. 在centos 6.4下,sort版本为sort (GNU coreutils) 8.4,有-R选项。
3. shuf 和 sort命令同属于coreutils 包。
更多信息请参考:http://www.gnu.org/software/coreutils/manual/coreutils.html#sort-invocation
shuf 命令: 随机排序文件相关推荐
- linux下shuf命令随即排序shuf -n1 a.txt
有时候我们需要将文本的顺序打乱,也就是随机排序,我以前的做法是写个shell,利用 bash 里的内置变量 $RANDOM 进行排序,然后打印.代码如下: [java] view plaincopy ...
- Linux的shuf命令
shuf 随机排序 待扩展->Linux下的随机数生成和排序方法,包含各类shell和sort 有时候在Linux中我们需要各种各样符合要求的的随机数,最主要和最常用做法是写个shell,利用 ...
- 【shell】shuf命令,随机排序
shuf命令主要用来对输入的每一行进行随机排序输出,我们可以利用这个属性,实现在几个文件中随机读取一个的功能 如下,zls.txt文件有三行,我们想要随机从中读取一行. 可以看到,每次读取顺序都不一样 ...
- 【shell】shuf命令提取文件的随机行
[shell]shuf命令提取文件的随机行 shuf命令可以随机提取一个文本文件的不同行,输出到文件或者标准输出中. shuf用法: shuf [选项]... [文件]或者: shuf -e [选项] ...
- linux 随机抽取文件,shell 随机从文件中抽取若干行的实现方法
shuf -n5 main.txt sort -R main.txt | head -5 awk -vN=5 -vC="`wc -l file`" 'BEGIN{srand();w ...
- linux字符串排序文件,Linux awk+uniq+sort 统计文件中某字符串出现次数并排序
https://blog.csdn.net/qq_28766327/article/details/78069989 在服务器开发中,我们经常会写入大量的日志文件.有时候我们需要对这些日志文件进行统计 ...
- VLC-2.2.6命令行帮助文件
VLC-2.2.6 用 vlc -H 命令生成的 vlc-help.txt 文件: 用法: vlc [选项] [流] ... 您可以在命令行中指定多个流. 它们将被加入播放列表队列. 指定的首个项目将 ...
- linux命令 复制文件夹命令行,(转)每天一个linux命令(8):cp 命令,复制文件和文件夹...
场景:自动部署脚本中为了部署方便,将配置文件放在服务器端,每次部署都使用服务端的配置文件覆盖上传上去的配置文件. cp命令用来复制文件或者目录,是Linux系统中最常用的命令之一. 一般情况下,she ...
- 使用shuf命令模拟数据
有时因为测试需要,要在数据库中模拟大量的数据,而这些数据都有一定的规律,比如现在有一个包含200个用户昵称的数据文件,要将这些昵称导入到用户表中,用户表的属性有姓名.昵称.性别.年龄.用户类型等等,姓 ...
最新文章
- java.net.uri,java.net.uri
- Java程序员必看!2021Java大厂面试知识分享
- WireConnection 最小生成树,prim 第九届“图灵杯”NEUQ-ACM程序设计竞赛个人赛
- java nio 追加写文件_Java NIO在文件末尾追加数据
- 清理c盘垃圾的cmd命令_用命令删除系统垃圾,这波操作深藏功与名
- python高级编程技巧
- Android两个子线程之间通信
- 【python教程入门学习】什么是生成器?
- java并发编程之原子性、可见性、有序性
- 13.相机和图像——透镜、薄透镜_2
- ajax原生为什么else会执行2次,关于Ajax,明明传过去的值是1,可不知道为什么就是else起作用?...
- 洛谷 P2257 YY的GCD
- vue 可用于交互的表格
- 有了WCF,Socket是否已人老珠黄?
- 最新!中科院分区发布2021年期刊重大调整
- 数据挖掘导论课后习题答案-第二章
- 分享一些个人的抢票过程
- java 实现 excel 去重_用java对大量Excel表处理(去重,生成新属性,统计数量)
- Criteo数据集预处理
- Queue Map 武魂融合技:MapQueue