.csv의 카테고리에 있는 이름 수를 계산하는 .sh 스크립트

.csv의 카테고리에 있는 이름 수를 계산하는 .sh 스크립트

카테고리를 기준으로 .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"

관련 정보