저는 많은 NBA 데이터가 포함된 bash 파이프라인을 작업하고 있습니다. Cleveland Cavaliers 선수의 빈도를 계산하려고 하는데 지금 내 명령은 다음과 같습니다 cut -d "," -f 2 nba2017-roster.csv | grep "CLE" | uniq -c
. 출력은 입니다 15 "CLE"
.
내가 원하는 것은 15
, 아니 입니다 "CLE"
. 어떻게 해야 하나요? 감사해요!
답변1
UNIX에서는 일반적으로 이를 수행하는 방법이 여러 가지 있습니다.
스티븐언급하다가장 직접적인 방법은줄이다grep을 사용하여 계산하는 것을 선호합니다 uniq -c
.
... | grep -c CLE
정말로 원한다면유지하다명령 uniq -c
줄의 일부인 경우 "CLE"를 제거하는 방법을 찾거나 숫자만 유지해야 합니다.uniq
지정된 유틸리티다음 형식으로 개수를 반환합니다.
"%d %s", <number of duplicates>, <line>
따라서 추출할 (많은) 옵션 중 하나 <number of duplicates>
는 다음과 같습니다.
.... | uniq -c | awk '{print $1}'
...공백으로 줄을 분할한 다음 첫 번째 필드를 인쇄하도록 awk에 지시합니다.
바라보다생성된 숫자 명령 "uniq -c"를 삭제합니다.귀하의 질문에 대한 결과입니다.