gpt4 book ai didi

bash - 在 csv 文件中查找列的索引号,但命令不显示结果?

转载 作者:行者123 更新时间:2023-12-04 16:17:05 26 4
gpt4 key购买 nike

我想根据列名获取 CSV 列的索引号。例如,我有这些列:TotalReported;Deceased;City我试过这样做:

head -n1 data.csv | tr ";" "\n" | grep -nx "Deceased" | cut -d";" -f1

但没有打印任何内容。我也试过这样做:

awk -F, '{ for(i=1; i<=NF; i++) if($i=="Deceased") {print i} exit}' data.csv'

它不打印任何东西。我能做什么?

这是 data.csv 文件的内容:

Date_of_report;Municipality_code;Municipality_name;Province;Total_reported;Hospital_admission;Deceased
2020-03-13 10:00:00;GM0003;Appingedam;Groningen;0;0;0
2020-03-13 10:00:00;GM0010;Delfzijl;Groningen;0;0;0
2020-03-13 10:00:00;GM0014;Groningen;Groningen;3;0;0
2020-03-13 10:00:00;GM0024;Loppersum;Groningen;0;0;0
2020-03-13 10:00:00;GM0034;Almere;Flevoland;1;1;0
2020-03-13 10:00:00;GM0037;Stadskanaal;Groningen;0;0;0
2020-03-13 10:00:00;GM0047;Veendam;Groningen;0;0;0
2020-03-13 10:00:00;GM0050;Zeewolde;Flevoland;1;0;0
2020-03-13 10:00:00;GM0059;Achtkarspelen;Friesland;0;0;0
2020-03-13 10:00:00;GM0060;Ameland;Friesland;0;0;0
2020-03-13 10:00:00;GM0072;Harlingen;Friesland;0;0;0
2020-03-13 10:00:00;GM0074;Heerenveen;Friesland;0;0;0

基本上我想获取列的索引号,然后将索引号放在这个awk命令中

v1=$(awk -F";" '{x+=$index}END{print x}' ./data.csv)

并获取该特定列的所有数字的总和。最后三列很重要,因为您当然只能对它们求和。

最佳答案

使用 egrep -o 获取行首并计算分号:

echo 'TotalReported;Deceased;City' | egrep -o '.*Deceased' | sed -e 's/[^;]//g' | wc -c

输出为 2,因为 Deceased 在第二列。

关于bash - 在 csv 文件中查找列的索引号,但命令不显示结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63632561/

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