Linux sort和uniq命令的应用
sort:
选项:
-b 忽略每行前面开始出的空格字符
-c 检查文件是否已经按照顺序排序
-d 排序时,处理英文字母、数字及空格字符外,忽略其他的字符
-f 排序时,将小写字母视为大写字母
-i 排序时,除了040至176之间的ASCII字符外,忽略其他的字符
-m 将几个排序好的文件进行合并
-M 将前面3个字母依照月份的缩写进行排序
-n 依照数值的大小排序
-o 将排序后的结果存入指定的文件
-r 倒序
-t 指定排序时所用的分隔符, 默认为[tab](通常和 -k 参数一起使用)
-k 指定以第几个字段进行排序
-u uniq, 相同的数据, 仅出现一行
+<起始栏位>-<结束栏位> 以指定的字段来排序,范围由起字段到结束字段的前一个字段
--help 显示帮助信息 示例:
sort /etc/passwd
sort -t ':' -k 3 /etc/passwd -n
sort -t ':' -k 3 /etc/passwd -n -r
uniq:
选项: 不指定选项, 默认重复的行只出现一次
-c 在每列旁边显示该行重复出现的次数
-d 仅显示重复出现的行
-u 仅显示出现过一次的行(唯一的行)
-w 指定要比较的字段 示例:
last | sort -k '3' | uniq -w 3 -c
sort 和 uniq 使用示例:
示例文件:
cat test1.txt
1
2
3
4
5 cat test2.txt
1
3
5
6
7
9 示例1: 求两个文件的交集
# 实现思路: 交集, 即两个文件都存在的列, 使用 sort 排序之后再使用 uniq -d 命令即可实现
sort test1.txt test2.txt | uniq -d
1
3
5 示例2: 求两个文件的并集
# 实现思路: 并集, 即两个文件合并在一起, 去除重复的行, 使用 sort 排序之后再使用 uniq 或者 sort -u
sort test1.txt test2.txt | sort -u 或者 sort test1.txt test2.txt | uniq
1
2
3
4
5
6
7
9 示例3: 求两个文件的差集
# 实现思路: 差集(test1-test2), 把 test2 的行重复2次和 test1 的元素放到一起排序, 只输出出现一次的项
# test1 相对 test2 的差集
sort test1.txt test2.txt test2.txt | uniq -u
2
4 # test2 相对 test1 的差集
sort test1.txt test1.txt test2.txt | uniq -u
6
7
9 示例4: 求两个文件的对称差
# 实现思路: 对称差, 即两个文件加起来只出现过一次的行, 使用 sort 排序之后再使用 uniq -u
sort test1.txt test2.txt | uniq -u
2
4
6
7
9
Linux sort和uniq命令的应用的更多相关文章
- linux sort 、uniq 命令
以文件的每行为单位,从左往右依次按ascii码进行比较 sort sort.txt #默认为升序 -u:去除重复行 sort -u sort.txt -r:降序排列 sort -r sort.txt ...
- xargs、sort、uniq命令
xargs.sort.uniq命令,我们由LeetCode的一道题来引入,并使用加以理解: 题目是这样的:写一个 bash 脚本以统计一个文本文件 words.txt 中每个单词出现的频率. word ...
- linux shell 脚本攻略学习8---md5校验,sort排序,uniq命令详解
一.校验与核实 目前最为出名的校验技术是md5sum和sha1sum,它们对文件内容使用相应的算法来生成校验和. 举例: amosli@amosli-pc:~/learn$ md5sum text.t ...
- sort与uniq命令详解
1.sort的作用 (排序) sort 命令对 File 参数指定的文件中的行排序,并将结果写到标准输出. 如果 File 参数指定多个文件,那么 sort 命令将这些文件连接起来,并当作一个文件进行 ...
- Linux基础:uniq命令总结
本文只总结一些常用的用法,更详细的说明见man uniq和 uniq --help. uniq命令 uniq命令主要用于去重. 需要注意的是,不相邻的行不算重复值. 语法格式 Usage: uniq ...
- Linux中的uniq命令(去掉重复项,输出重复项)
ls /bin /usr/bin | sort | uniq | less 上面这条命令的实际效果是: 获得 ls /bin /usr/bin 的 output 将上述 output 进行 sort ...
- Linux uniq 命令
Linux uniq 命令 Linux 命令大全 Linux uniq 命令用于检查及删除文本文件中重复出现的行列,一般与 sort 命令结合使用. uniq 可检查文本文件中重复出现的行列. 语法 ...
- Linux中sort和uniq关于排序去重的那些用法
相信在Linux下对文件操作经常会用到sort和uniq命令,下面系统的介绍一下这两个命令的用法. sort命令是在Linux里非常有用,它将文件进行排序,并将排序结果标准输出.sort命令既可以从特 ...
- Linux -- 文件统计常用命令
标签(空格分隔): Linux sort -- 文件内排序命令 sort将文件的每一行作为一个单位,相互比较,比较原则是从首字符向后,依次比较其ASCII码. 按每行升序排序: sort seq.tx ...
随机推荐
- java校验银行卡号
public class CheckBankCard { /* 校验过程: 1.从卡号最后一位数字开始,逆向将奇数位(1.3.5等等)相加. 2.从卡号最后一位数字开始,逆向将偶数位数字,先乘以2(如 ...
- Linux系统巡检常用命令-乾颐堂
Linux系统需要定期巡检,以检查服务器软硬件使用情况,相当于对人的体检,确保可以及时发现问题.解决问题,降低损失,常用的巡检命令如下: # uname -a # 查看内核/操作系统/CPU信息 # ...
- Oracle 自增长id
CREATE SEQUENCE to38_import_result_seq INCREMENT BY 1 START WITH 10000 NOMAXVALUE NOCYCLE NOCACHE CR ...
- mybatis 传参是 list<string> 的注意事项
<!--付款 批量 修改账单状态--><update id="editbillpayALL" parameterType="java.util.List ...
- php 导出csv表格文件
1.数据库取出数据,存放在二维数组中 $conn=new mysqli('localhost','root','root','myDBPDO'); $result=$conn->query('s ...
- 【转载】Mysql中的Btree与Hash索引比较
转载地址:http://www.jb51.net/article/62533.htm 这篇文章主要介绍了Mysql中的Btree与Hash索引比较,本文起讲解了B-Tree 索引特征.Hash 索引特 ...
- java String,StringBuffer,StringBuilder区别及联系
String 字符串常量(不可变)StringBuffer 字符串变量(线程安全,可变) StringBuilder 字符串变量(非线程安全,性能优,可变) 简要的说, String 类型和 Stri ...
- OpenCV4Android安装
转:http://blog.csdn.net/gao_chun/article/details/49359535 1.下载及目录介绍 2.将 OpenCV引入 Android Studio 3.更新 ...
- centos 学习总结
我用的是6.4 添加中文输入法 .su root .yum install "@Chinese Support" .exit .回到桌面,system->preference ...
- jmeter阶梯式加压测试
转自:https://www.cnblogs.com/imyalost/p/7658816.html#4226560 性能测试中,有时需要模拟一种实际生产中经常出现的情况,即:从某个值开始不断增加压力 ...