博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
linux 命令 — sort、uniq
阅读量:6981 次
发布时间:2019-06-27

本文共 1007 字,大约阅读时间需要 3 分钟。

sort uniq

sort:对行或者文本文件排序

uniq:去除重复的行

常用

sort -n file.txt

按数字进行排序

sort -r file.txt

按逆序进行排序

sort -M file.txt

按月份进行排序

sort -C file

如果返回0表示已经排序

sort -nC file

返回0表示已经按照数字排序

sort -m sorted_file1 sorted_file2

合并两个已经排过序的文件,而且不需要对合并后的文件再次排序

按键或者列进行排序

sort -nrk 1 data.txt

-n,表示按照数字排序,-r表示使用逆序,-k n表示选择第n列进行排序

sort -nk 1, 2 file

按照第1-2两个字符进行排序,-k n1, n2 可以指定排序的键值

sort -z file

排序之后使用'\0'作为分隔符

uniq

uniq只能用于排过序的输入

sort unsort.txt | uniq
sort -u unsort.txt
uniq sorted.txt

sort unsorted.txt | uniq -c

统计各行在文件中出现的次数

sort unsorted.txt | uniq -d

找出文件中重复的行

sort data.txt | uniq -s 2 -w 3

将排序后文件中第3-6个字符作为键进行唯一值过滤,-s n 表示跳过前n个字符,-w m 表示选择的字符个数

uniq -z sorted.txt

输出内容使用"\0"作为分隔符

使用uniq生成字符串样式

输入:ahebhaaa

输出:4a1b1e2h

echo "ahebhaaa" | sed 's/[^.]/&\n/g' | sed '/^$/d' | sort | uniq -c | tr -d ' \n'

sed 's/[^.]/&\n/g': 将每一个字符后面追加一个换行符(将所有的字符使用该字符加"\n"替换),"&"表示前面正则表达式中匹配到的内容,这里也就是一个字符
sed '/^$/d': 搜索所有的空行并删除
sort: 按照字母表顺序排序
uniq -c: 统计每个字符出现的次数
tr -d ' \n': 删除空格和换行

转载于:https://www.cnblogs.com/sunshine-2015/p/6838766.html

你可能感兴趣的文章
深入理解JavaScript系列(6):S.O.L.I.D五大原则之单一职责SRP
查看>>
onSaveInstanceState和onRestoreInstanceState触发的时机
查看>>
设计模式学习02—工厂模式
查看>>
html5--6-10 CSS选择器7--伪类选择器
查看>>
激光数据匹配(MATLAB Robotics System Toolbox)
查看>>
file_put_contents执行返回false,file_put_contents false(linux服务器httpd)
查看>>
JavaScript学习总结一(String对象的用法)
查看>>
处理手势冲突和错乱的一点经验
查看>>
Struts2防止表单重复提交
查看>>
[转]Python格式化输出
查看>>
CSS - 修改input - placeholder 和 readonly 的样式
查看>>
在多线程情况下 局部变量与全局变量 哪个比较安全呢
查看>>
算法评测
查看>>
POJ 2773 Happy 2006
查看>>
UBIFS介绍 - MTD网站
查看>>
如何使用ITEXTSHARP将HTML代码字符串写进PDF
查看>>
Oracle SQL CPU占用高
查看>>
Maya 2015 中英文切换
查看>>
C语言的字符串分割
查看>>
Arduino可穿戴开发入门教程Windows平台下安装Arduino IDE
查看>>