linux sort uniq命令详解
sort
功能说明:将文本文件内容加以排序,sort可针对文本文件的内容,以行为单位来排序。
sort [-bcdfimMnr][-o<输出文件>][-t<分隔字符>][+<起始栏位>-<结束栏位>][--help][--verison][文件]
-b 忽略每行前面开始处的空格字符 。
-c 检查文件是否已经按照顺序排序。
-d 排序时,处理英文字母、数字及空格字符外,忽略其他的字符。
-f 排序时,将小写字母视为大写字母。
-i 排序时,除了040至176之间的ASCII字符外,忽略其他的字符。
-m 将几个排序好的文件进行合并。
-M 将前面3个字母依照月份的缩写进行排序。
-n 依照数值的大小排序。
-o<输出文件> 将排序后的结果存入指定的文件。
-r 以相反的顺序来排序。
-t<分隔字符> 指定排序时所用的栏位分隔字符。
-k 选择以哪个区间进行排序
+<起始栏位>-<结束栏位> 以指定的栏位来排序,范围由起始栏位到结束栏位的前一栏位。
-u 在输出行中去除重复行。
sort将文件的每一行作为一个单位,相互比较,比较原则是从首字符向后,依次按ASCII码值进行比较,最后将他们按升序输出。
举例:
源文件:
|
默认排序:
|
-u 在输出行中去除重复行。
|
-o 把排序结果输出到原文件中 使用重定向:sort test.txt>test.txt 后, test.txt为空 sort test.txt -o test.txt |
-c 检查文件是否已经按照顺序排序 sort -c 排好序的文件,无返回信息, echo $?为0 sort -c 未排序文件,有提示信息, echo $?为1 |
-n 依照数值的大小排序, sort 默认情况下会将数字按照字符串来排序, 所以会出现2比10大的情况。 使用-n能避免该情况:sort -n test.txt
|
-t<分隔字符> 指定排序时所用的栏位分隔字符, -k 选择以哪个区间进行排序 cat date.txt sort -n -k 2 -t'-' date.txt
|
其他举例:
sort -t ' ' -k 3nr -k 2n facebook.txt
先以第3个域进行逆序排序,如果相同,再以第2个域进行排序,n 依照数值的大小排序。
后续学习可参考:http://blog.chinaunix.net/uid-10540984-id-313479.html
uniq
[-cdu][-f<栏位>][-s<字符位置>][-w<字符位置>][--help][--version][输入文件][输出文件]
-u或--unique 只保留出现唯一一次的行列。
-d或--repeated 仅显示重复出现的行列,出现一次的行列不会显示
-c 在每列旁边显示该行重复出现的次数。
-f n 或--skip-fields=n 忽略前N个字段。字段由空白字符(空格符、Tab)分隔
-s<字符位置>或--skip-chars=<字符位置> 忽略比较指定的字符。-s n:忽略前n个字符,从n+1个字符开始比较
-w<字符位置>或--check-chars=<字符位置> 指定要比较的字符。-w n:只比较前n个字符,对每行第n个字符以后的内容不作对照
-i, --ignore-
case
在比较的时候不区分大小写
[输入文件] 指定已排序好的文本文件。如果不指定此项,则从标准读取数据;
[输出文件] 指定输出的文件。如果不指定此选项,则将内容显示到标准输出设备(显示终端)。
uniq 是对排序好的内容去重当重复的行并不相邻时,uniq 命令是不起作用的,所以需要先使用sort排序,在使用uniq去重
举栗:
原文件
|
uniq -c test_uniq.txt
|
-u 仅显示出现一次的行 ,不显示出现多次的行 uniq -u -c test_uniq.txt
|
|||
仅显示重复出现的行 -d uniq -d -c test_uniq.txt
不显示只出现一次的行 |
-i 比较的时候不区分大小写 ,不区分大小写,所以有三行进行的合并 uniq -i -c test_uniq.txt
|
||||
比较时忽略前n个字段,从n+1列开始比较 -f n uniq -c -f 3 test_uniq.txt
忽略前2个字段时,前2个字段中的字符以及空格不同都不会有影响, 但是第2个字段之后的空格与字符变化会影响去重效果 |
比较时忽略前n个字符,从n+1个字符开始比较 -s n uniq -c -s 1 test_uniq.txt
忽略前1个字符,第4,5,6,行会被认为是一样的 |
||||
只比较前n个字符,对每行第n个字符以后的内容不作对照 -w n uniq -c -w 1 test_uniq.txt
|
指定输出文件 uniq -c test_uniq.txt out.txt |
linux sort uniq命令详解的更多相关文章
- Linux:uniq命令详解
uniq uniq命令用于报告或忽略文件中的重复行,一般与sort命令结合使用. 语法 uniq(选项)(参数) 选项 -c或——count:在每列旁边显示该行重复出现的次数: -d或--repeat ...
- linux shell 脚本攻略学习8---md5校验,sort排序,uniq命令详解
一.校验与核实 目前最为出名的校验技术是md5sum和sha1sum,它们对文件内容使用相应的算法来生成校验和. 举例: amosli@amosli-pc:~/learn$ md5sum text.t ...
- LINUX系统VMSTAT命令详解
linux系统vmstat命令详解 [转自 https://www.cnblogs.com/wensiyang0916/p/6514820.html] vmstat 1 1表示每秒采集一次vms ...
- Linux 系统性能监控命令详解
Linux 系统性能监控命令详解 CPU MEMORY IO NETWORK LINUX进程内存占用查看方法 系统负载过重时往往会引起其它子系统的问题,比如:->大量的读入内存的IO请求(pag ...
- Linux下ps命令详解 Linux下ps命令的详细使用方法
http://www.jb51.net/LINUXjishu/56578.html Linux下的ps命令比较常用 Linux下ps命令详解Linux上进程有5种状态:1. 运行(正在运行或在运行队列 ...
- linux之find命令详解
linux之find命令详解 查找文件find ./ -type f查找目录find ./ -type d查找名字为test的文件或目录find ./ -name test查找名字符合正则表达式的文件 ...
- Linux下rar命令详解
Linux下rar命令详解 用法: rar <命令> -<选项1> ….-<选项N> < 操作文档> <文件…> <@文件列表…> ...
- linux下tar命令详解
linux下tar命令详解 tar是Linux环境下最常用的备份工具之一.tar(tap archive)原意为操作磁带文件,但基于Linux的文件操作机制,同样也可适用于普通的磁盘文件.ta ...
- Linux下chkconfig命令详解(转)
Linux下chkconfig命令详解 chkconfig命令主要用来更新(启动或停止)和查询系统服务的运行级信息.谨记chkconfig不是立即自动禁止或激活一个服务,它只是简单的改变了符号连接. ...
随机推荐
- FreeRTOS相关转载-(朱工的专栏)
FreeRTOS系列第1篇---为什么选择FreeRTOS? 1.为什么学习RTOS? 作为基于ARM7.Cortex-M3硬件开发的嵌入式工程师,我一直反对使用RTOS.不仅因为不恰当的使用RTOS ...
- Mac 使用 Parallels Desktop 虚拟机安装 win10 教程
Parallels Desktop 介绍 Parallels Desktop 是一款运行在 Mac 电脑上的极为优秀的虚拟机软件,用户可以在 Mac OS X下非常方便运行 Windows.Linux ...
- 启动kafaka失败了,提示zk保存kafka的ids已经在使用。
FATAL [Kafka Server 1], Fatal error during KafkaServer startup. Prepare to shutdown (kafka.server.Ka ...
- vue项目使用百度地图API获取经纬度
一.首先在百度api注册获得ak密钥 二.进行引入 (1).第一种方式: 直接在vue中index.html中用script标签引入. //你的ak密钥需要替换真实的你的ak码 <script ...
- 简单读读源码 - dubbo多提供者(provider)配置方法
简单读读源码 - dubbo多提供者(provider)配置方法 消费者端dubbo的yml配置 dubbo: consumer: timeout: 300000 protocol: name: du ...
- Docker五分钟搭建Wordpress
当你看到这篇文章的时候,表明你已经有docker的基础知识了,或者可以看上一篇文章 Docker 入门教程. 传统的使用wordpress搭建网站,意味着你需要搭建以下四个环境: php: apach ...
- nignx反向代理web服务器的配置与使用
一.为什么要用nignx反向代理 1.负载均衡 当一台服务器的单位时间内的访问量越大时,服务器压力就越大,大到超过自身承受能力时,服务器就会崩溃.为了避免服务器崩溃,让用户有更好的体验,我们通过负载均 ...
- Git如何下载clone指定的tag
Git如何下载clone指定的tag 如上图,我想下载Tags标签为solution-4 的代码,如何处理呢? 命令如下: git clone --branch solution-4 git@gith ...
- 白*衡(Color Constancy,无监督AWB):CVPR2019论文解析
白*衡(Color Constancy,无监督AWB):CVPR2019论文解析 Quasi-Unsupervised Color Constancy 论文链接: http://openaccess. ...
- Pipe Utilization管道利用率
Pipe Utilization管道利用率 概述 CUDA设备的每个流式多处理器(SM)都具有许多专门用于执行特定任务的硬件单元.在芯片级,这些单元提供执行管道,翘曲调度程序将指令发送到这些管道.例如 ...