gpt4 book ai didi

linux - 如何根据列字符串的出现仅输出前 n 行

转载 作者:太空宇宙 更新时间:2023-11-04 10:22:51 25 4
gpt4 key购买 nike

我有一个大文件,其中第一列包含 ID 号,随后的列包含其他唯一信息。每个 ID 号在文件中出现多次:

000112 3489 A-8 40984
000112 4743 A-7 94587
000112 5894 A-1 45795
000177 8347 A-2 54575
000177 5843 B-5 94342
000177 5684 A-4 76544
000177 6586 C-2 65834
000226 5679 C-2 85795
000226 5456 C-1 45876
000226 9899 A-2 56834

我想输出一个文件,其中仅包含每个 ID 号的前两次出现的行:

000112 3489 A-8 40984
000112 4743 A-7 94587
000177 8347 A-2 54575
000177 5843 B-5 94342
000226 5679 C-2 85795
000226 5456 C-1 45876

请注意,此数据仅代表输入文件的一小部分,因此需要输入特定字符串(ID 号)的命令不是我要找的。谢谢!

最佳答案

awk 'a[$1]++ < 2' input-file

应该可以解决问题。只需读取文件并递增一个由第一列中的值索引的数组。如果该值小于 2,则打印该行。当您第 3 次看到相同的 id 时,数组中的索引将为 2,并且该行的输出将被抑制。

关于linux - 如何根据列字符串的出现仅输出前 n 行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43126938/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com