"uniq -c"를 사용한 후 "카운트 값"을 추출합니다.

"uniq -c"를 사용한 후 "카운트 값"을 추출합니다.

저는 많은 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"를 삭제합니다.귀하의 질문에 대한 결과입니다.

관련 정보