그룹 및 합계 목록

그룹 및 합계 목록

bash를 사용하면 목록에서 항목 수를 가져올 수 있습니까?

a
b
a
cccc
b
a

원하는 출력은 다음과 유사합니다.

a 3
b 2
cccc 1

답변1

일반적인 접근 방식은 다음 sort | uniq -c을 사용하는 것입니다.

  3 a
  2 b
  1 cccc

실제로 줄 끝에 숫자를 입력해야 하는 경우 전달하면 sed이 문제를 해결할 수 있습니다.

답변2

당신은 그것을 사용할 수 있습니다 awk:

awk '{
         arr[$0]+=1
     }
     END{
         for (item in arr){
             print(item, arr[item])
         }
     }' inputfile

arr키가 전체 행( $0)이고 값이 키가 나타나는 횟수인 연관 배열입니다. 마지막으로 전체 배열을 반복하고 모든 키와 해당 값을 인쇄합니다.

관련 정보