gpt4 book ai didi

shell - 如何编写一个 shell 脚本来获取特定列的第一条记录?

转载 作者:行者123 更新时间:2023-12-01 23:10:21 35 4
gpt4 key购买 nike

以下是demo的小文件。有两列,我想编写一个 shell 脚本来获取每个名称的第一次出现。

--- input.txt ---

Name,Count
Linux,2
Unix,10
Linux,10
Unix,4
Windows,6

--- 想要的 output.txt ---

Name,Count
Linux,2
Unix,10
Windows,6

真正的 input.txt 要大得多(以 GB 为单位),所以可以扩展的东西会很棒。

另外,如果之前有人问过类似的问题,我深表歉意(我无法通过搜索找到解决方案)。

最佳答案

这样就可以了:

awk -F, '!seen[$1]++' input.txt

-F, 将输入字段分隔符设置为逗号。这意味着每行中的 $1 是逗号之前的部分(名称、Linux、Unix 等)。 seen 是一个数组,它跟踪已经看到的 $1 的值。每次 $1 相同时,seen[$1] 都会递增。仅当 seen[$1] 为 0 时才打印该行,这仅在第一次看到新 key 时才为真。

关于shell - 如何编写一个 shell 脚本来获取特定列的第一条记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25896639/

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