标签:roo cat 标准输入 合并 指定 前缀 删除文件 文件中 数字
uniq 命令删除文件中的重复行。 uniq 命令读取由 InFile 参数指定的标准输入或文件。该命令首先比较相邻的行,然后除去第二行和该行的后续副本。
用法:uniq[选项]…(输入[输出]]
从输入(或标准输入)中过滤相邻的匹配行,
写入到输出(或标准输出)。
以这个文件为示例
[root@zhaocheng ~]# cat filetest
root:x:0:0:root:/root:/bin/bash
root:x:0:0:root:/root:/bin/bash
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
halt:x:7:0:halt:/sbin:/sbin/halt
参数解释
-c 按出现的次数计算前缀行数
-d 只打印重复的行
-D 打印所有重复的行
如果没有选项,匹配的行将合并到第一个出现的行。
[root@zhaocheng ~]# uniq filetest
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
halt:x:7:0:halt:/sbin:/sbin/halt
-c将文本中所有的字段进行统计,有一样的就会统计出来
[root@zhaocheng ~]# uniq -c filetest
3 root:x:0:0:root:/root:/bin/bash
1 bin:x:1:1:bin:/bin:/sbin/nologin
1 daemon:x:2:2:daemon:/sbin:/sbin/nologin
1 adm:x:3:4:adm:/var/adm:/sbin/nologin
1 halt:x:7:0:halt:/sbin:/sbin/halt
-d只打印重复的行
[root@zhaocheng ~]# uniq -d filetest
root:x:0:0:root:/root:/bin/bash
-D将所有的重复的行都打印出来,-d只将重复的行打印一次
[root@zhaocheng ~]# uniq -D filetest
root:x:0:0:root:/root:/bin/bash
root:x:0:0:root:/root:/bin/bash
root:x:0:0:root:/root:/bin/bash
sort
用法:排序[选项]…[文件]…
或者:[选项]…——files0-from = F
将所有文件的排序连接写入标准输出。
-b 忽略每行前面开始出的空格字符。
-c 检查文件是否已经按照顺序排序。
-f 排序时,忽略大小写字母。
-M 将前面3个字母依照月份的缩写进行排序。
-n 依照数值的大小排序。
-o <输出文件> 将排序后的结果存入指定的文件。
-r 以相反的顺序来排序。
-t <分隔字符> 指定排序时所用的栏位分隔字符。
-k 选择以哪个区间进行排序。
[root@zhaocheng ~]# sort filetest
adm:x:3:4:adm:/var/adm:/sbin/nologin
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
halt:x:7:0:halt:/sbin:/sbin/halt
root:x:0:0:root:/root:/bin/bash
root:x:0:0:root:/root:/bin/bash
root:x:0:0:root:/root:/bin/bash
这里换成数字的话,那么就需要使用sort -n去进行排序
[root@zhaocheng ~]# sort -n number.txt
2
3
5
7
56
65
80
-r的话就是进行倒序进行排列
[root@zhaocheng ~]# sort -n -r number.txt
80
65
56
7
5
3
2
sort -u可以也可以进行排序以及去重
[root@zhaocheng ~]# sort -u filetest
adm:x:3:4:adm:/var/adm:/sbin/nologin
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
halt:x:7:0:halt:/sbin:/sbin/halt
root:x:0:0:root:/root:/bin/bash
将我们的输出的内容进行保存,这里就需要-o,存储到指定文件
[root@zhaocheng ~]# sort -n -r number.txt -o number.txt
[root@zhaocheng ~]# cat number.txt
9865
890
876
56
55
34
6
4
标签:roo cat 标准输入 合并 指定 前缀 删除文件 文件中 数字
原文地址:https://blog.51cto.com/14143894/2472057