.sh 脚本,用于计算 .csv 中某个类别中的名称数量

.sh 脚本,用于计算 .csv 中某个类别中的名称数量

我想根据类别计算 .csv 文件中的学生人数

类别 1 是名称,类别 2 是国家/地区,类别 3 是城市

.csv 文件显示如下:

michael_s;jpa;NYC
john_d;chn;TXS
jim_h;usa;POP

当我执行脚本时

cat students.csv | ./script.sh PAR

它应该只显示 PAR 中的学生人数,而且当我执行脚本时,它还可以显示其他城市,例如 NYC、PAR 等

我做了什么:

cut -d";" -f3 students.csv | sort | uniq -c 

它按出席的方式工作,但我需要它在执行脚本时显示其他城市以及后面的另一个城市

cat students.csv | ./script.sh PAR

133 NYC

或者

cat students.csv | ./script.sh NYC

107 NYC

答案1

为什么不直接这样做...

cat students.csv | grep $1 |wc -l

这可以进入脚本并运行为:

./myscript.sh NYC

你的整个脚本看起来像:

#/bin/bash
cat students.csv | grep $1 |wc -l

要获取带有计数的城市名称,您可以使用:

cat student.csv|grep $1|printf "$1 $(wc -l) \n"

相关内容