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