uniq主要用来处理文本中出现的重复行或列(列还未做测试)
其用法为 uniq [option] file
常见参数含义如下
- c 显示输出中,在每行行首加上本行在文件中出现的次数。它可取代- u和- d选项。
- d 只显示重复行 。
- u 只显示文件中不重复的各行 。
- n
前n个字段与每个字段前的空白一起被忽略。一个字段是一个非空格、非制表符的字符串,彼此由制表符和空格隔开(字段从0开始编号)。
+n
前n个字符被忽略,之前的字符被跳过(字符从0开始编号)。
- f n 与- n相同,这里n是字段数。
- s n
与+n相同,这里n是字符数。
test文件内容为
boy took bat home
boy took bat home
girl took bat home
dog brought hat home
dog brought hat home
dog brought hat home
1.uniq与uniq -u 区别
root@extmail temp$uniq -u test
girl took bat home
root@extmail temp$uniq test
boy took bat home
girl took bat home
dog brought hat home
可以看出,-u选项显示文件中没有连续出现的行。(不重复的行)
而uniq则表示删除重复的行
2.输出重复的行
root@extmail temp$uniq -d test
boy took bat home
dog brought hat home
3.-f -s选项用法
root@extmail temp$uniq -f 1 -s2 test
boy t3ook bat home
boy t4ook bat home
girl took bat home
dog brought hat home
root@extmail temp$uniq -f 1 -s3 test
boy t3ook bat home
girl took bat home
dog brought hat home
-f 1 -s3表示忽略第一个字段,忽略第一个字段后的空白字符和第二个字段的前两个字符,然后比较剩下的内容。
转载于:https://blog.51cto.com/xoyabc/1655473