gpt4 book ai didi

linux - 从输入文件 linux 的列中计算特定数字

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:28:53 24 4
gpt4 key购买 nike

我试图读取一个文件并计算特定位置的特定数字并显示它出现了多少次,例如:第一个字段是数字,第二个字段是品牌名称,第三个字段是他们所属的组,第 4 个和第 5 个不重要。

1:audi:2:1990:5
2:bmw:2:1987:4
3:bugatti:3:1988:19
4.buick:4:2000:12
5:dodge:2:1999:4
6:ferrari:2:2000:4

作为输出,我想按第 3 列搜索,然后将 2(按品牌名称)组合在一起并计算我有多少。我正在寻找的输出应该是这样的:

1:audi:2:1990:5
2:bmw:2:1987:4
5:dodge:2:1999:4
6:ferrari:2:2000:4

4 -> 显示有多少行。我试过采用这种方法,但无法弄清楚:

file="cars.txt"; sort -t ":" -k3 $file   #sorting by the 3rd field
grep -c '2' cars.txt # this counts all the 2's in the file including number 2.

希望你明白。提前谢谢你。

最佳答案

我不确定“按品牌名称分组”到底是什么意思,但以下内容将为您提供所描述的输出。

awk -F':' '$3 == 2' Input.txt

如果你想要一个行数,你可以通过管道将它传递给 wc -l

awk -F':' '$3 == 2' Input.txt | wc -l

关于linux - 从输入文件 linux 的列中计算特定数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23178551/

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