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 ...
随机推荐
- cpu iowait高排查的case
在之前的常见的Java问题排查方法一文中,没有写cpu iowait时的排查方法,主要的原因是自己之前也没碰到过什么cpu iowait高的case,很不幸的是在最近一周连续碰到了两起cpu iowa ...
- SQL 和 NoSQL 的区别
一.概念 SQL (Structured Query Language) 数据库,指关系型数据库.主要代表:SQL Server,Oracle,MySQL(开源),PostgreSQL(开源). No ...
- ✔ OI Diary ★
一 | 2019-3-28 1.整晨,云之考矣,暴后皆不会,邃无感而写斯普雷尔,然则午后知暴可六十哉. 然则斯普雷毙,虽特判之矣,然则暴只判二十哉,呜呼! 2.午间归宿,视白购书一本,目触,感之甚集 ...
- ELK的安装
首先得安装好Elasticsearch.Kibana和Logstash(这里全部使用rpm安装的是6.4.2版本,而且都是单机安装,暂时没有考虑分布式安装.) 服务器内存要求至少为4G,下图为运行起来 ...
- Asp.Net WebApi 使用OWIN架构后,出现 “没有 OWIN 身份验证管理器与此请求相关联(No OWIN authentication manager is associated with the request)” 异常的解决办法
在Asp.Net WebApi 项目中使用OWIN模块之后,如果没有在OWIN的Startup类中配置认证方式,调用WebApi的相关Controller和Action就会出现如下异常: 出现错误. ...
- Python 输出文件内容到网络端口
Python 输出文件内容到网络端口 $ cat mySocketTest.py import sys import time import socket if __name__ == "_ ...
- js实现小功能 动态赋值
- centos7下root密码丢失解决方案
1 root密码忘记 A.[rd.break方式更改root密码!] 1.重启 CentOS 7.X,在系统引导倒计时的时候快速按键盘上的[ ↑ ]或[ ↓ ]键,使其停留在GRUB菜单界面,并按照下 ...
- Centos 32位 安装 NodeJS
准备命令: yum -y install gcc make gcc-c++ openssl-devel wget 下载源码及解压: wget https://nodejs.org/dist/v6.9. ...
- Ubuntu16.04安装Redis并配置
Ubuntu16.04安装Redis并配置 2018年05月22日 10:40:35 Hello_刘 阅读数:29146 Ubuntu16.04安装Redis并配置 1):安装: 1:终端命令下载 ...