Shell命令-文件及内容处理之sort、uniq
文件及内容处理 - sort、unip
1. sort:对文件的文本内容排序
sort命令的功能说明
sort命令用于将文本文件内容加以排序。sort可针对文本文件的内容,以行为单位来排序。
sort命令的语法格式
sort[OPTION]... [FILE]...
sort[-bcdfimMnr][-o][-t][+-][--help][--verison][文件]
sort命令的常用参数说明:
split参数很多,表1为sort命令的参数及说明:
表1:
sort命令的参数及说明
| 参数选项 | 解释说明 |
|---|---|
| -b | 忽略每行前面开始出的空格字符。 |
| -c | 检查文件是否已经按照顺序排序。 |
| -d | 排序时,处理英文字母、数字及空格字符外,忽略其他的字符。 |
| -f | 排序时,将小写字母视为大写字母。 |
| -i | 排序时,除了040至176之间的ASCII字符外,忽略其他的字符。 |
| -m | 将几个排序好的文件进行合并。 |
| -M | 将前面3个字母依照月份的缩写进行排序。 |
| -n | 依照数值的大小排序。 |
| -o | 将排序后的结果存入指定的文件。 |
| -r | 以相反的顺序来排序。 |
| -t | 指定排序时所用的栏位分隔字符。 |
| + | - 以指定的栏位来排序,范围由起始栏位到结束栏位的前一栏位。 |
| --help | 显示帮助。 |
| --version | 显示版本信息。 |
sort命令的实践操作
范例1: 在使用
sort命令以默认的式对文件的行进行排序,使用的命令如下:
--------------------------------------------------------------
==>testfile文件原有排序 <==
--------------------------------------------------------------
[root@web01 ~]# cat testfile
test 30
Hello 95
Linux 85
--------------------------------------------------------------
==>重排结果<==
--------------------------------------------------------------
[root@web01 ~]# sort testfile
Hello 95
Linux 85
test 30
2. uniq:去除重复行
uniq命令的功能说明
uniq命令用于检查及删除文本文件中重复出现的行列,一般与sort命令结合使用。uniq可检查文本文件中重复出现的行列。
uniq命令的语法格式
uniq[OPTION]... [INPUT [OUTPUT]]
uniq[-cdu][-f][-s][-w][--help][--version][输入文件][输出文件]
uniq命令的常用参数说明:
uniq参数不多,表1为uniq命令的参数及说明:
表1:
uniq命令的参数及说明
| 参数选项 | 解释说明 |
|---|---|
| -c或--count | 在每列旁边显示该行重复出现的次数。 |
| -d或--repeated | 仅显示重复出现的行列。 |
| -f或--skip-fields= | 忽略比较指定的栏位。 |
| -s或--skip-chars= | 忽略比较指定的字符。 |
| -u或--unique | 仅显示出一次的行列。 |
| -w或--check-chars= | 指定要比较的字符。 |
| --help | 显示帮助。 |
| --version | 显示版本信息。 |
| [输入文件] | 指定已排序好的文本文件。如果不指定此项,则从标准读取数据; |
| [输出文件] | 指定输出的文件。如果不指定此选项,则将内容显示到标准输出设备(显示终端)。 |
uniq命令的实践操作
范例1: 文件testfile中第 2、3、5、6、7、9行为相同的行,使用
uniq命令删除重复的行,可使用以下命令:
--------------------------------------------------------------
==>原有内容 <==
--------------------------------------------------------------
[root@web01 ~]# cat testfile
test 30
test 30
test 30
Hello 95
Hello 95
Hello 95
Hello 95
Linux 85
Linux 85
--------------------------------------------------------------
==>删除重复行后的内容<==
--------------------------------------------------------------
[root@web01 ~]# uniq testfile
test 30
Hello 95
Linux 85
范例2: 检查文件并删除文件中重复出现的行,并在行首显示该行重复出现的次数。使用如下命令:
[root@web01 ~]# uniq -c testfile <-->删除重复行后的内容
3 test 30 <-->前面的数字的意义为该行共出现了3次
4 Hello 95 <-->前面的数字的意义为该行共出现了4次
2 Linux 85 <-->前面的数字的意义为该行共出现了2次
范例3: 当重复的行并不相邻时,
uniq命令是不起作用的,即若文件内容为以下时,uniq命令不起作用:
--------------------------------------------------------------
==>原有内容 <==
--------------------------------------------------------------
[root@web01 ~]# cat testfile1
test 30
Hello 95
Linux 85
test 30
Hello 95
Linux 85
test 30
Hello 95
Linux 85
--------------------------------------------------------------
==>这时我们就可以使用 sort<==
--------------------------------------------------------------
[root@web01 ~]# sort testfile1 | uniq
Hello 95
Linux 85
test 30
--------------------------------------------------------------
==>统计各行在文件中出现的次数:<==
--------------------------------------------------------------
[root@web01 ~]# sort testfile1 | uniq -c
3 Hello 95
3 Linux 85
3 test 30
--------------------------------------------------------------
==>在文件中找出重复的行:<==
--------------------------------------------------------------
[root@web01 ~]# sort testfile1 | uniq -d
Hello 95
Linux 85
test 30
今天就写到这里,有什么疑问或出现什么错误,随时欢迎大神们发表评论指点迷津
Shell命令-文件及内容处理之sort、uniq的更多相关文章
- Shell命令-文件及内容处理之more、less
文件及内容处理 - more.less 1. more:分页显示文件内容 more命令的功能说明 more 命令类似 cat,不过会以一页一页的形式显示,更方便使用者逐页阅读,而最基本的指令就是按空白 ...
- Shell命令-文件及内容处理之cat、tac
文件及内容处理 - cat.tac 1. cat:显示文件内容 cat命令的功能说明 cat命令用于连接多个文件并且打印到屏幕输出或重定向到指定文件中 cat命令的语法格式 cat [OPTION]. ...
- Shell命令-文件及内容处理之head、tail
文件及内容处理 - head.tail 1. head:显示文件内容头部 head命令的功能说明 head 命令用于显示文件头部内容,默认执行 head 命令会输出文件开头的 10 行. head命令 ...
- Shell命令-文件及内容处理之cut、rev
文件及内容处理 - cut.rev 1. cut:切割文件内容 cut命令的功能说明 cut 命令用于显示每行从开头算起num1 到 num2 的文字. cut命令的语法格式 cut [OPTION] ...
- Shell命令-文件及内容处理之diff、vimdiff
文件及内容处理 - diff.vimdiff 1. diff:比较两个文件区别 diff命令的功能说明 diff命令用比较文件的差异.diff以逐行的方式,比较文本文件的异同处.如果指定要比较目录,则 ...
- Shell命令-文件及内容处理之wc,tr
文件及内容处理 - wc.tr 1. wc:统计文件的行数.单词数或字节数 wc命令的功能说明 wc 命令用于计算字数.利用 wc 指令我们可以计算文件的字节数,字数,或是列数,若不指定文件名称,或是 ...
- Shell命令-文件及内容处理之vi、vim
文件及内容处理 - vi.vim 1.Linux vi/vim 所有的 Unix Like 系统都会内建 vi 文书编辑器,其他的文书编辑器则不一定会存在. 但是目前我们使用比较多的是 vim 编辑器 ...
- Shell命令-文件及内容处理之grep(egrep)、join
文件及内容处理 - grep(egrep).join 1. grep(egrep):文本过滤工具 grep(egrep)命令的功能说明 grep命令是Linux系统中最重要的命令之一,其功能是从文本文 ...
- Shell命令-文件及内容处理之split、paste
文件及内容处理 - split.paste 1. split:分割文件为不同的小片段 split命令的功能说明 split 命令用于将一个文件分割成数个.该指令将大文件分割成较小的文件,在默认情况下将 ...
随机推荐
- 通过 docker 来搭建 Jenkins
mkdir /data/jenkins -p mkdir /data/jenkins/{conf,data} -p echo "Asia/Shanghai" > /data/ ...
- 认证与Shiro安全框架
本文内容均来自官网 1.简介 Apache Shiro是Java的一个安全框架.功能强大,使用简单的Java安全框架,它为开发人员提供一个直观而全面的认证,授权,加密及会话管理的解决方案. 实际上,S ...
- 【Dojo 1.x】笔记6 配置对象dojoConfig的用处和真身所在
dojoConfig是对整个Dojo开发环境的配置,它的位置必须是页面的最前,可以是script标签也可以是独立的js文件. 它允许开发者为Dojo SDK的各个方面设置选项和默认行为. 但是,这个对 ...
- 【面向对象设计原则】之单一职责原则(SRP)
单一职责原则是面向对象原则五大原则中最简单,也是最重要的一个原则, 他的字面定义如下: 单一职责原则(Single Responsibility Principle, SRP): 一个类只负责一个功能 ...
- idea上使用maven入门(二)——本地仓库以及使用maven
本地仓库: 首先创建完一个项目之后,点击左上角file->setting(建一个文件夹repository,建议创建到maven的外面,主要如果maven需要换版本,方便管理)如下图: ma ...
- DVWA 黑客攻防演练(六)不安全的验证码 Insecure CAPTCHA
之前在 CSRF 攻击 的那篇文章的最后,我觉得可以用验证码提高攻击的难度. 若有验证码的话,就比较难被攻击者利用 XSS 漏洞进行的 CSRF 攻击了,因为要识别验证码起码要调用api,跨域会被浏览 ...
- 转摘Linux命令工作中常用总结
Linux命令工作中常用总结 1. 搜索 在vi和vim中如果打开一个很大的文件,不容易找到对应的内容,可以使用自带的搜索关键字进行搜索定位: 在vi和vim界面中输入:"/" ...
- 解决Win10系统本地主机,网络受限占用CPU过高的问题
Win10版本为2015年第一个版本,第一次安装时没有这个问题,后面每次安装后开机正常,但是只要运行一段时间后(机子有运行各种软件的情况),发现CPU使用率为100% 即使结束所有在运行的程序,依然居 ...
- 【原】Java学习笔记008 - 方法(函数)
package cn.temptation; public class Sample01 { public static void main(String[] args) { // 方法/函数 Met ...
- c/c++ linux 进程间通信系列4,使用共享内存
linux 进程间通信系列4,使用共享内存 1,创建共享内存,用到的函数shmget, shmat, shmdt 函数名 功能描述 shmget 创建共享内存,返回pic key shmat 第一次创 ...