0

我有一个包含 200,000 多行的文件。第一个字段是密钥 ID。我需要删除重复第一个字段的 2,3,4... 行。请帮忙!我在最后期限。我尝试了许多类似回答的问题,但没有任何效果。

4

2 回答 2

2

GNU 的代码:

sed -nr '1{h;s/\s*(\S+).*/\1/;x;p}; 1!{x;G;/(\S+)\n\1.*/!{s/\n.*//;x;p;b};s/\n.*//;x;d}' file.txt
$猫文件.txt
1号线11111
线2 22121
1号线11212
线2 22222
1号线11313
线2 22323
1号线11414
第 2 行 22424
1号线11515
线2 22525

$sed -nr '1{h;s/\s*(\S+).*/\1/;x;p}; 1!{x;G;/(\S+)\n\1.*/!{s/\n.*//;x;p;b};s/\n.*//;x;d} ' 文件.txt
1号线11111
线2 22121
线2 22222
线2 22323
第 2 行 22424
线2 22525
于 2013-07-05T17:45:31.343 回答
0

这是做你想做的吗?

print -- "
1
1
1
2
2
2
3
3
3
4" | awk '{ if (! ($1 in alreadyPrinted)) {print $1 ; alreadyPrinted[$1]=$1;}'

输出

1
2
3
4

如果没有,请花时间添加小样本输入,并根据该输入显示所需的输出。如果您编写了一些代码,请将其包含在内,并包含您收到的错误消息的确切文本。

IHTH

于 2013-07-05T16:58:47.710 回答