19.Linux中字符处理sort和uniq命令详解
目录
1.sort 排序命令语法及参数
2.sort命令用法演示
3.uniq 去重命令语法及参数
4.uniq命令用法演示
1.sort 排序命令语法及参数
很多情况下都需要对无序的数据进行排序,这时就要用到sort排序了。
语法
sort [-bcdfimMnr][-o<输出文件>][-t<分隔字符>][+<起始栏位>-<结束栏位>][--help][--verison][文件][-k field1[,field2]]
参数说明:
- -b 忽略每行前面开始出的空格字符。
- -c 检查文件是否已经按照顺序排序。
- -d 排序时,处理英文字母、数字及空格字符外,忽略其他的字符。
- -f 排序时,将小写字母视为大写字母。
- -i 排序时,除了040至176之间的ASCII字符外,忽略其他的字符。
- -m 将几个排序好的文件进行合并。
- -M 将前面3个字母依照月份的缩写进行排序。
- -n 依照数值的大小排序。
- -u 意味着是唯一的(unique),输出的结果是去完重了的。
- -o<输出文件> 将排序后的结果存入指定的文件。
- -r 以相反的顺序来排序。
- -t<分隔字符> 指定排序时所用的栏位分隔字符。
- +<起始栏位>-<结束栏位> 以指定的栏位来排序,范围由起始栏位到结束栏位的前一栏位。
- --help 显示帮助。
- --version 显示版本信息。
- [-k field1[,field2]] 按指定的列进行排序。
2.sort命令用法演示
在使用 sort 命令以默认的式对文件的行进行排序,使用的命令如下:
[root@xiaopeng ~]# sort testfile
sort 命令将以默认的方式将文本文件的第一列以 ASCII 码的次序排列,并将结果输出到标准输出。
使用 cat 命令显示 testfile 文件可知其原有的排序如下:
[root@xiaopeng ~]# cat testfile # testfile文件原有排序
test 30
Hello 95
Linux 85
使用 sort 命令重排后的结果如下:
[root@xiaopeng ~]# sort testfile # 重排结果
Hello 95
Linux 85
test 30
使用 -k 参数设置对第二列的值进行重排,结果如下:
[root@xiaopeng ~]# sort testfile -k 2
test 30
Linux 85
Hello 95
3.uniq 去重命令语法及参数
uniq命令是用来取消重复行的命令,其实和sort -u选项是一样的。
用法:uniq [选项]... [文件]
从输入文件或者标准输入中筛选相邻的匹配行并写入到输出文件或标准输出。
不附加任何选项时匹配行将在首次出现处被合并。
长选项必须使用的参数对于短选项时也是必需使用的。
-c, --count 在每行前加上表示相应行目出现次数的前缀编号
-d, --repeated 只输出重复的行
-D, --all-repeated[=delimit-method 显示所有重复的行
delimit-method={none(
default
),prepend,separate} 以空行为界限
-f, --skip-fields=N 比较时跳过前N 列
-i, --ignore-
case
在比较的时候不区分大小写
-s, --skip-chars=N 比较时跳过前N 个字符
-u, --unique 只显示唯一的行
-z, --zero-terminated 使用
'\0'
作为行结束符,而不是新换行
-w, --check-chars=N 对每行第N 个字符以后的内容不作对照
--help 显示此帮助信息并退出
--version 显示版本信息并退出
若域中为先空字符(通常包括空格以及制表符),然后非空字符,域中字符前的空字符将被跳过。
提示:uniq 不会检查重复的行,除非它们是相邻的行。
如果您想先对输入排序,使用没有uniq 的
"sort -u"
。
删除重复行:
[root@xiaopeng ~]# uniq file.txt
[root@xiaopeng ~]# sort file.txt | uniq
[root@xiaopeng ~]# sort -u file.txt
只显示单一行:
[root@xiaopeng ~]# uniq -u file.txt
[root@xiaopeng ~]# sort file.txt | uniq -u
统计各行在文件中出现的次数:
[root@xiaopeng ~]# sort file.txt | uniq -c
在文件中找出重复的行:
[root@xiaopeng ~]# sort file.txt | uniq -dl
4.uniq命令用法演示
下面的命令删除了相邻的重复行,但是第一行111没有删除。
[root@xiaopeng ~]# uniq uniq.txt
111
223
56
111 # 删除了重复的111
567
223
排序后去重。
[root@xiaopeng ~]# sort uniq.txt | uniq
111
223
56
567
使用-d显示重复的行。
[root@xiaopeng ~]# sort uniq.txt | uniq -d
111
223
使用-D显示所有重复过的行。
[root@xiaopeng ~]# sort uniq.txt | uniq -D
111
111
111
223
223
使用-u显示唯一行。
[root@xiaopeng ~]# sort uniq.txt | uniq -u
56
567
使用-c统计哪些记录出现的次数。
[root@xiaopeng ~]# sort uniq.txt | uniq -c
3 111
2 223
1 56
1 567
使用-d -c统计重复行出现的次数。
[root@xiaopeng ~]# sort uniq.txt | uniq -d -c
3 111
2 223
19.Linux中字符处理sort和uniq命令详解相关推荐
- linux压缩命令zip详解,Linux中zip压缩和unzip解压缩命令详解
如果你的英文足够好,那完全可以不靠任何人就精通linux,只要你会用man.Man实际上就是查看指令用法的help,学习任何一种UNIX类的操作系统最重要的就是学会使用man这个辅助命令.接下来是小编 ...
- 【Linux】19.Linux环境变量名LD_LIBRARY_PATH 和 ldd命令详解
Linux环境变量名LD_LIBRARY_PATH 和 ldd命令详解 参考链接: https://www.jianshu.com/p/a62e1d327023 LD_LIBRARY_PATH中的LD ...
- linux中chmod与chown两个命令详解
在linux系统中chmod,chown命令都可以来设置权限了,但它们也是有区别的,下文小编为各位介绍chmod与chown两个命令用法与区别介绍. 今天要分享的2个命令也是我们平时常用的,chmod ...
- linux 中增加路由(route)命令详解
linux route 命令 route -n显示现在所有路由 root@Ubuntu:~# route 结果是自上而下, 就是说, 哪条在前面, 哪条就有优先, 前面都没有, 就用最后一条defau ...
- Linux 去重uniq命令详解
linux之去重uniq命令详解 uniq是对文本文件进行行去去重的工具. 以行为单位,进行行与行之间的字符串比较并进行去重 只能对有序的文本行进行有效去重,所以常与sort命令结合使用 参数 解释 ...
- linux之去重uniq命令详解
linux之去重uniq命令详解 uniq是对文本文件进行行去去重的工具. 以行为单位,进行行与行之间的字符串比较并进行去重 只能对有序的文本行进行有效去重,所以常与sort命令结合使用 参数 解释 ...
- Linux中man手册的安装以及使用详解
Linux中man手册的安装以及使用详解 linux中man手册的安装以及使用详解 man手册是什么 man手册是干嘛的 man手册如何安装 man手册如何使用 举例讲解 我们来看一下man手册的目录 ...
- linux下mysql数据库基础及客户端命令详解
linux下mysql数据库基础及客户端命令详解 1.mysql数据库存储引擎: SHOW ENGINES; #查看mysql支持的存储引擎 常见有如下两个存储引擎: MyISAM:每表三个文件: ...
- Photoshop CS 中的“照片滤镜/Photo Filter”命令详解(转)
Photoshop CS 中的"照片滤镜/Photo Filter"命令详解(转)[@more@] 这是一个跟摄影有关的重要图像调整命令. 有关这一命令的教程,现在网上没一个能说得 ...
- linux mk创建文件,Linux运维知识之Linux mkkickstart建立安装的组态文件命令详解
本文主要向大家介绍了Linux运维知识之Linux mkkickstart建立安装的组态文件命令详解,通过具体的内容向大家展现,希望对大家学习Linux运维知识有所帮助. 功能说明:建立安装的组态文件 ...
最新文章
- php 打开动态链接,php调用com组件-dll文件(动态链接库)
- html在页面上div绝对定位,html – 中心浮动div在绝对定位div内
- html5 制作风车,[网页设计]html5 requestAnimationFrame制作动画:旋转风车
- 【Linux网络编程】套接字的介绍
- 【unity3d游戏开发之基础篇】利用射线实现鼠标控制角色转向和移动(角色移动一)...
- Xenix 操作系统的简史
- 诺基亚正式收购阿朗:物联网时代再出发
- 防止对SQL Server的蛮力攻击
- O(n)复杂度求没有出现的数字(leetcode448)
- 计算机继续教育笔记,《继续教育中的学习技术》读书笔记
- Selenium实战应用——实现知到智慧树自动播放课程
- 11计算机专业vb试题答案,西华师范大学计算机VB试题及答案11
- 【STM32F429开发板用户手册】第2章 STM32F429的开发环境搭建
- 继承关系下怎样使用Builder 模式
- hurst指数matlab,hurst指数matlab
- iOS之推荐六款不错的 iOS 15 Safari 浏览器扩展
- 联想用u盘重装系统步骤_联想笔记本u盘重装系统,详细教您联想笔记本怎么使用u盘重装系统...
- 微信扫描自定义二维码关注公众号
- crh寄存器_端口配置寄存器CRH怎么弄?
- “AI骨龄医生”周年庆完美收官!武汉站引数百位儿科医生追捧
热门文章
- 山海经2服务器维护时间,山海经异兽录多久出一次新服 | 手游网游页游攻略大全...
- 词频统计 matlab,5年cvpr论文词频分析,今年最火词——深度学习
- 【云服务器安全加固】
- 微型计算机上的tab作用,TAB键有什么用处
- 我读《非暴力沟通》- 马歇尔 *卢森堡 - 让爱融入生活
- 如何批量修改文件名称
- 微信公众号编辑模式下推送消息
- iTunes出现提示“iTunes不能读取iPhone的内容,请前往iPhone偏好设置的摘要选项卡,然后点击“恢复”以将此iPhone恢复为出厂设置。”
- word批量替换向下箭头为回车符号、批量删除空行、批量空格与空行
- 解决mac可以聊QQ微信不能浏览网页问题