承接国内外服务器租用托管、定制开发、网站代运营、网站seo优化托管接单、网站代更新,新老站点皆可!!咨询QQ:3787320601

怎样在Linux中使用uniq命令去除重复行?

管理员 2023-06-20 11:40:52 软件开发 24 ℃ 0 评论 3018字 收藏

怎样在Linux中使用uniq命令去除重复行?

怎样在Linux中使用uniq命令去除重复行?

在Linux操作系统中,常常需要对文本文件进行处理,而去除文本文件中的重复行是一个很常见的需求。这时候就需要使用Linux内置的uniq命令。下面将介绍怎样在Linux中使用uniq命令去除重复行。

1. 命令格式

uniq命令的基本语法以下:

“`shell

uniq [OPTION]… [INPUT [OUTPUT]]


其中,OPTION是可选参数,INPUT是输入文件,如果省略则从标准输入读取,OUTPUT是输出文件,如果省略则输出到标准输出。

2. 去除重复行

uniq命令可以直接去除重复行。默许情况下,它只会去除相邻的重复行,而不会去除全部文件中的重复行。例如:

```shell
$ cat test.txt
apple
orange
orange
banana
apple
$ uniq test.txt
apple
orange
banana
apple

以上命令中,cat测试文件,里面有5行,其中有3行有重复。使用uniq命令去除重复行后,输出了4行,其中apple和orange还各自保存了一行。

如果要去除全部文件中的重复行,可使用sort命令先对文件进行排序,然后再使用uniq命令去除重复行。例如:

“`shell

$ sort test.txt | uniq

apple

banana

orange


3. 疏忽重复行前面的空格

有时,文本文件中的重复行前面可能有空格,这时候需要使用uniq命令的-i选项疏忽空格。例如:

```shell
$ cat test.txt
apple
orange
orange
banana
apple
$ sort test.txt | uniq -i
apple
banana
orange

以上命令中,cat测试文件,里面有5行,其中有3行有重复。使用sort命令先对文件进行排序,然后使用uniq命令去除重复行,并使用-i选项疏忽重复行前面的空格。

4. 统计重复行次数

uniq命令还可使用-c选项来统计各个行的重复次数。例如:

“`shell

$ sort test.txt | uniq -c

2 apple

1 banana

2 orange


以上命令中,使用-c选项可以输出每一个重复行的个数,我们发现apple和orange分别重复了2次。

5. 去除指定字段重复行

有时候,我们只需要依照某一个字段去重,这时候需要使用uniq命令的-f选项指定字段,例如:

```shell
$ cat test.txt
apple,red
orange,orange
orange,yellow
banana,yellow
apple,green
$ sort test.txt | uniq -f 1
apple,green
banana,yellow
orange,orange

以上命令中,使用-f选项指定依照第二个字段去重,输出结果只保存了区别的第二个字段的重复行。

综上所述,我们在Linux中使用uniq命令去除重复行非常方便,可以轻松地对文本文件进行处理,提高工作效力。

文章来源:丸子建站

文章标题:怎样在Linux中使用uniq命令去除重复行?

https://www.wanzijz.com/view/57220.html

X

截屏,微信识别二维码

微信号:weimawl

(点击微信号复制,添加好友)

打开微信