Linux常用命令之文本处理
uniq [选项] 文件
说明:这个命令读取输入文件,并比较相邻的行。在正常情况下,第二个及以后更多个重复行将被删去,行比较是根据所用字符集的排序序列进行的。该命令加工后的结果写到输出文件中。输入文件和输出文件必须不同。如果输入文件用“- ”表示,则从标准输入读取。
该命令各选项含义如下:、
– c 显示输出中,在每行行首加上本行在文件中出现的`次数。它可取代- u和- d选项。
– d 只显示重复行。
– u 只显示文件中不重复的各行。
– n 前n个字段与每个字段前的空白一起被忽略。一个字段是一个非空格、非制表符的字符串,彼此由制表符和空格隔开(字段从0开始编号)。
+n 前n个字符被忽略,之前的字符被跳过(字符从0开始编号)。
– f n 与- n相同,这里n是字段数。
– s n 与+n相同,这里n是字符数。
接下来通过实践实例说明:
代码如下:
[root@stu100 ~]# cat test
boy took bat home
boy took bat home
girl took bat home
boy took bat home
boy took bat home
dog brought hat home
dog brought hat home
dog brought hat home
看test文件的内容
代码如下:
[root@stu100 ~]# uniq test
boy took bat home
girl took bat home
boy took bat home
dog brought hat home
uniq命令不加任何参数,仅显示连续重复的行一次
代码如下:
[root@stu100 ~]# uniq -c test
2 boy took bat home
1 girl took bat home
2 boy took bat home
3 dog brought hat home
1
-c 参数显示文件中每行连续出现的次数。
代码如下:
[root@stu100 ~]# cat test |sort | uniq -c
1
4 boy took bat home
3 dog brought hat home
1 girl took bat home
排序后再显示
代码如下:
[root@stu100 ~]# uniq -d test
boy took bat home
boy took bat home
dog brought hat home
-d选项仅显示文件中连续重复出现的行。
代码如下:
[root@stu100 ~]# uniq -u test
girl took bat home
-u选项显示文件中没有连续出现的行。
代码如下:
[root@stu100 ~]# uniq -f 2 -s 2 test
boy took bat home
忽略每行的前2个字段,忽略第二 个空白字符和第三个字段的首字符,结果at home
代码如下:
[root@stu100 ~]# uniq -f 1 test
boy took bat home
dog brought hat home
忽 略每行的第一个字段,这样boy ,girl开头的行看起来是连续重复的行。
代码如下:
[root@stu100 ~]# uniq -D test
boy took bat home
boy took bat home
boy took bat home
boy took bat home
dog brought hat home
dog brought hat home
dog brought hat home
显示所有重复的行,每个重复的行都显示
当你有一个包含相同条目的雇员(employee)的文件,你可以以如下方式来删除相同的条目
代码如下:
$ sort | uniq
$ sort –u
如果你想知道有多少行是相同的,可以像下面这个做。以下例子中的第一列显示该行的重复数量。在本例中,以Alex和Emma开头的行,在文件中有两个重复行。
代码如下:
$ sort | uniq –c
2 Alex Jason:200:Sales
2 Emma Thomas:100:Marketing
1 Madison Randy:300:Product Development
1 Nisha Singh:500:Sales
1 Sanjay Gupta:400:Support
3. 以下命令仅仅列出了相同的条目
代码如下:
$ sort | uniq –cd
2 Alex Jason:200:Sales
2 Emma Thomas:100:Marketing
-
升级Win10创意者更新需要注意哪些事项
继微软发布Win10创意者更新正式版已有10天了,很多伙伴都准备升级Win10创意者,正所谓知己知彼才能百战不殆,所以我们在更新之前一定要对Win10创意者进行了解。下面小编给大家分享升级Win10创意者更新需要注意的一些事项,想要升级的伙伴一定要看看。升级Win10创意者...
-
linux正确重启MySQL的教程
由于是从源码包安装的Mysql,所以系统中是没有红帽常用的servciemysqldrestart这个脚本只好手工重启有人建议Killallmysql。这种野蛮的方法其实是不行的,强制终止的话,如果造成表损坏,损失是巨大的。这里推荐安全的重启方法$mysql_dir/bin/mysqladmin-uroot-pshutdo...
-
Windows XP如何设置关机时自动清理缓存文件
WinXP在关机时,有些页面文件还会保存在系统中,而不会被清除。那么,怎么才能使WinXP在关机时,自动清除系统的页面文件呢?下面是小编为大家整理关于WindowsXP如何设置关机时自动清理缓存文件的方法家阅读!操作步骤:1、单击“开始”菜单,单击“运行”,在对话框中输入“Reg...
-
目前的电脑操作系统有哪些
说到操作系统,大家肯定会首先想到WINDOWS8或者WINDOWSXP,其实这些操作系统只是目前操作系统的一小部分,它们使用人数大,被人们熟知而已,其实还有很多其他的操作系统呢。下面是小编分享的资料,一起来看一下吧。从目前的PC系统来看,大致可以分为五类,Windows系统,NetWare...