如何在Linux中去掉重复行?

在Linux中,可以使用多种方法来去掉文件中的重复行,以下是几种常见的方法:

如何在Linux中去掉重复行?插图1

方法一:使用sortuniq 命令

1、排序并去重

   sort input_file | uniq > output_file

sort input_file:对文件进行排序。

uniq:去除相邻的重复行。

> output_file:将结果输出到新的文件中。

2、保留原始顺序

如果需要保留原始文件中的顺序,可以使用awkperl

方法二:使用 `awk`

awk '!seen[$0]++' input_file > output_file

!seen[$0]++:检查当前行是否已经出现过,如果没有出现过则打印该行。

input_file:输入文件。

output_file:输出文件。

如何在Linux中去掉重复行?插图3

方法三:使用 `perl`

perl -ne 'print unless $seen{$_}++' input_file > output_file

$seen{$_}++:记录每一行的出现次数,第一次出现时打印该行。

input_file:输入文件。

output_file:输出文件。

方法四:使用sortuniq 结合-u 选项

sort -u input_file > output_file

-u:只显示唯一的行。

input_file:输入文件。

output_file:输出文件。

示例

假设有一个名为input.txt 的文件,内容如下:

apple
banana
apple
orange
banana
grape

使用sortuniq 命令:

sort input.txt | uniq > output.txt

output.txt 的内容将会是:

如何在Linux中去掉重复行?插图5

apple
banana
grape
orange

使用awk

awk '!seen[$0]++' input.txt > output.txt

output.txt 的内容将会是:

apple
banana
orange
grape

使用perl

perl -ne 'print unless $seen{$_}++' input.txt > output.txt

output.txt 的内容将会是:

apple
banana
orange
grape

使用sortuniq 结合-u 选项:

sort -u input.txt > output.txt

output.txt 的内容将会是:

apple
banana
grape
orange

方法都可以有效地去除文件中的重复行,根据具体需求选择合适的方法即可。

以上就是关于“linux去掉重复行”的问题,朋友们可以点击主页了解更多内容,希望可以够帮助大家!

本文来源于互联网,如若侵权,请联系管理员删除,本文链接:https://www.9969.net/86736.html

(0)
上一篇 2024年10月29日 02:42
下一篇 2024年10月29日 02:52

相关推荐