sort与uniq命令详解
1.sort的作用 (排序)
sort 命令对 File 参数指定的文件中的行排序,并将结果写到标准输出。
如果 File 参数指定多个文件,那么 sort 命令将这些文件连接起来,并当作一个文件进行排序。
2. sort语法
sort [-fbMnrtuk] [file or stdin]
选项与参数:
-f :忽略大小写的差异,例如 A 与 a 视为编码相同;
-b :忽略最前面的空格符部分;
-M :以月份的名字来排序,例如 JAN, DEC 等等的排序方法;
-n :使用『纯数字』进行排序(默认是以文字型态来排序的);
-r :反向排序;
-u :就是 uniq ,相同的数据中,仅出现一行代表;
-t :分隔符,默认是用 [tab] 键来分隔;
-k :以那个区间 (field) 来进行排序的意思
3. sort例子
3.1 对/etc/passwd 的账号进行排序
cat /etc/passwd | sort

sort 是默认以第一个数据来排序,而且默认是以字符串形式来排序,所以由字母 a 开始升序排序。
3.2 /etc/passwd 内容是以 : 来分隔的,以第三栏来排序
cat /etc/passwd | sort -t ':' -k
默认是以字符串来排序的,如果想要使用数字排序:
cat /etc/passwd | sort -t ':' -k 3n
默认是升序排序,如果要倒序排序,如下
cat /etc/passwd | sort -t ':' -k 3nr
3.3 如果要对/etc/passwd,先以第六个域的第2个字符到第4个字符进行正向排序,再基于第一个域进行反向排序。
cat /etc/passwd | sort -t':' -k 6.2,6.4 -k 1r
3.4 查看/etc/passwd有多少个shell:对/etc/passwd的第七个域进行排序,然后去重
cat /etc/passwd | sort -t':' -k -u
4.uniq 命令
uniq命令可以去除排序过的文件中的重复行
因此uniq经常和sort合用。也就是说,为了使uniq起作用,所有的重复行必须是相邻的。
4.1 uniq语法
uniq [-icu]
选项与参数:
-i :忽略大小写字符的不同;
-c :进行计数
-u :只显示唯一的行
4.2 uniq 例子
testfile的内容如下
cat testfile
hello
world
friend
hello
world
hello
直接删除未经排序的文件,将会发现没有任何行被删除
#uniq testfile
hello
world
friend
hello
world
hello
排序文件,默认是去重
#cat testfile | sort |uniq
friend
hello
world
可以看到排序之后删除了重复行
在行首位置输出该行重复的次数:
#sort testfile | uniq -c
friend
hello
world
4.3 仅显示存在重复的行,并在行首显示该行重复的次数
#sort testfile | uniq -dc
hello
world
4.4 仅显示不重复的行
#sort testfile | uniq -u
friend
本部分属于一步一步学习大数据系列之 Linux 的章节,欢迎订阅更多文章
更多内容请参考:一步一步学习大数据系列介绍
sort与uniq命令详解的更多相关文章
- linux shell 脚本攻略学习8---md5校验,sort排序,uniq命令详解
一.校验与核实 目前最为出名的校验技术是md5sum和sha1sum,它们对文件内容使用相应的算法来生成校验和. 举例: amosli@amosli-pc:~/learn$ md5sum text.t ...
- linux sort uniq命令详解
sort 功能说明:将文本文件内容加以排序,sort可针对文本文件的内容,以行为单位来排序. sort [-bcdfimMnr][-o<输出文件>][-t<分隔字符>][+&l ...
- Linux:uniq命令详解
uniq uniq命令用于报告或忽略文件中的重复行,一般与sort命令结合使用. 语法 uniq(选项)(参数) 选项 -c或——count:在每列旁边显示该行重复出现的次数: -d或--repeat ...
- [转]linux uniq 命令详解
转自:http://blog.csdn.net/tianmohust/article/details/6997683 uniq 命令 文字 uniq 是LINUX命令 用途 报告或删除文件中重复的 ...
- uniq 命令详解
作用: 报告或忽略文件中的重复行,一般与sort 连用. 选项:-c count 在每列前显示该行重复出现的次数 -d repeated, 仅显示重复出现的行列 -f skip fie ...
- Linux uniq命令详解
uniq常见命令参数 用法:uniq [选项]... [文件] 从输入文件或者标准输入中筛选相邻的匹配行并写入到输出文件或标准输出. 不附加任何选项时匹配行将在首次出现处被合并. 长选项必须使用的参数 ...
- uniq命令详解
基础命令学习目录首页 原文链接:http://man.linuxde.net/uniq 删除重复行: uniq file.txt sort file.txt | uniq sort -u file.t ...
- Shell学习(七)——sort、uniq、cut、wc命令详解
Shell学习(七)--sort.uniq.cut.wc命令详解 转自:[1]linux sort,uniq,cut,wc命令详解 https://www.cnblogs.com/ggjucheng/ ...
- netstat命令详解
它主要的用法和详解! (netstat -na 命令),本文主要是说Linux下的netstat工具,然后详细说明一下各种网络连接状态. netstat -nat |awk ‘{print $}’|s ...
随机推荐
- Dispatch Group
Dispatch Group A group of tasks that you monitor as a single unit. Overview Groups allow you to aggr ...
- 使用github 的相关博客
基于hexo+github搭建一个独立博客 如何用Github的gh-pages分支展示自己的项目 使用git clone error: RPC failed Git的使用-- ...
- Spring Cloud:Security OAuth2 自定义异常响应
对于客户端开发或者网站开发而言,调用接口返回有统一的响应体,可以针对性的设计界面,代码结构更加清晰,层次也更加分明. 默认异常响应 在使用 Spring Security Oauth2 登录和鉴权失败 ...
- service docker start后docker stop/waiting的解决方法
在某次强行对机子断电后,再开机后发现docker没启动 运行service docker start显示docker start/running, process xxxx,之后不一会儿就停止了, 再 ...
- Binary Search(Java)(递归)
public static int rank(int[] array, int k, int front, int rear) { if(front > rear) return -1; int ...
- 阿里云对象存储OSS与文件存储NAS的区别
一.简介 应用场景:选择一款存储产品,面向文档数据的存取,不会涉及到数据处理. 产品选型主要从OSS和NAS中选择一款,满足文档存储的需求. 二.NAS优缺点 NAS 是一种采用直接与网络介质相连的特 ...
- 三、调试IIS启动域名配置
一.IIS配置启动VS以及域名 1.hosts配置 2.配置 注意: 1.Web和Api 端口在IIS都设置80即可,都可以同时运行不冲突,与vs的IIS express启动方式不同vs会指定不同的两 ...
- python 装饰器练习题
1.写出完整的装饰器(不用开了带参装饰器,就是普通装饰器)语法 2.有一个计算两个数和的方法,为其添加一个确保两个参数都是int或float类型的装饰器,保证运算不会抛异常 3.有一个一次性录入人名并 ...
- Qt QComboBox下拉框文字重叠解决方法
如果QComboBox下拉框文字重叠,在设置好样式之后,在后面加 setView(new QListView())即可; m_comboRate = new QComboBox(); m_comboR ...
- Tesseract-ocr 安装与使用
Tesseract(识别引擎),一款由HP实验室开发由Google维护的开源OCR(Optical Character Recognition , 光学字符识别)引擎,与Microsoft Offic ...