gpt4 book ai didi

Bash - 如何计算 .csv 文件列中的出现次数(没有 awk)

转载 作者:行者123 更新时间:2023-11-29 09:29:19 25 4
gpt4 key购买 nike

最近我开始学习 bash 脚本,我想知道如何计算 .csv 文件的列中出现的次数,该文件的结构如下:

    DAYS,SOMEVALUE,SOMEVALUE
sunday,something,something
monday,something,something
wednesday,something,something
sunday,something,something
monday,something,something

所以我的问题是:每次出现第一列(天)的每个值时,我如何计算?在这种情况下,输出必须是:

    Sunday : 2
Monday : 2
Wednesday: 1

第一列名为 DAYS,因此脚本不必处理单个值 DAYS,DAYS 只是标识该列的一种方式。

如果可能的话,我想看看没有 awk 命令和 phyton ecc 的解决方案..

谢谢你们,抱歉我的英语不好

编辑:我想这样做:

    count="$( cat "${FILE}" | grep -c "OCCURENCE")"
echo "OCCURENCE": ${count}

其中 OCCURENCE 是单个值(星期日、星期一...)但是这个解决方案不是自动的,我需要在 .csv 文件的第一列中列出单个事件并将每个事件放在一个数组中,然后用我之前编写的代码对每个事件进行计数。我需要一些帮助才能做到这一点,谢谢

最佳答案

cut -f1 -d, test.csv | tail -n +2 | sort | uniq -c

这让你走到这一步:

  2 monday
2 sunday
1 wednesday

要获取您的格式(Sunday : 1),我认为 awk 是一种简单明了的方法(类似于 awk '{print $2 ": "$1}',但如果您确实需要,这里有一个完整的非 awk 版本:

cut -f1 -d, test.csv | uniq -c | tail -n +2 | while read line; do words=($line); echo ${words[1]} : ${words[0]}; done

关于Bash - 如何计算 .csv 文件列中的出现次数(没有 awk),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49549782/

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