我有一个包含 200,000 多行的文件。第一个字段是密钥 ID。我需要删除重复第一个字段的 2,3,4... 行。请帮忙!我在最后期限。我尝试了许多类似回答的问题,但没有任何效果。
问问题
70 次
2 回答
2
GNU sed的代码:
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 回答