linuxuniq命令实用手册

编程

Linux uniq 命令用于处理文本内容中的重复行

这里我们只介绍其常用参数,其完整用法可参见man uniq

例如,我们有如下文件内容:

>>> cat log.txt

_______________

hello

HEllo

world

world

hello

使用uniq 命令,不加任何参数处理,注意,这里的两行hello 并没有相邻,所以最终还是显示了两行hello,而两行world 是相邻的,所以去掉了其中一行world

>>> uniq log.txt 

hello

HEllo

world

hello

如果想将不相邻的相同内容也去重,一般需要与sort 命令配合使用,先排序,再去重,如下(这时所有的重复行都被去重了):

>>> cat log.txt | sort| uniq

____________________________

HEllo

hello

world

使用-s参数,忽略前N 个字符(此处忽略了前2 个字符):

>>> cat log.txt | sort| uniq -s 2

_________________________________

HEllo

world

使用-i 参数,忽略大小写(最终只剩下了大写的):

>>> cat log.txt | sort| uniq -i

_______________________________

HEllo

world

使用-d 参数,只输出重复的行HEllo 没有重复,所以没有输出):

>>> cat log.txt | sort| uniq -d

_______________________________

hello

world

使用-u 参数,与-d 参数相反,只输出不重复的行HEllo 没有重复,所以输出):

>>> cat log.txt | sort| uniq -u

———————————————————————————————

HEllo

使用-c 参数,计算重复行的次数,如下(第一列为出现的次数):

>>> cat log.txt | sort| uniq -c

_______________________________

1 HEllo

2 hello

2 world

按照重复次数进行反向排序

cat log.txt | sort| uniq -c| sort -nr

—————————————————————————————————————

2 world

2 hello

1 HEllo

下面总结以上介绍到的参数:

|参数| 含义 |

|--|--|

| -s N | 忽略前N 的字符 |

| -i | 忽略大小写 |

| -d | 只输出重复的行 |

| -u | 只输出不重复的行 |

| -c | 对重复的行进行计数 |

(完。)

以上是 linuxuniq命令实用手册 的全部内容, 来源链接: utcz.com/z/515585.html

回到顶部