1601개의 행이 있는 목록이 있고 각 행에서 필드 5에 다른 값이 발생하는 횟수를 계산하는 데 관심이 있습니다.
이것이 내가 지금까지 가지고 있는 것입니다:
awk '{print$5}' FILE | sort | uniq -c
이것이 나에게 제공하는 것은 고유 값 목록과 해당 개수입니다. 하지만 나는 이 목록을 정렬하고 싶습니다. 난 계속 보고 있어답변키와 값에 대해 논의하고 있지만 이를 제 경우에 어떻게 적용해야 할지 모르겠습니다.
미리 도움을 주셔서 감사합니다.
답변1
sort -b -n
파이프라인의 끝부분(파이프라인의 다른 단계)에서 이 누락되었습니다.
awk '{ print $5 }' FILE | sort | uniq -c | sort -b -n
sort -b -n
파이프라인의 초기 단계에서 생성된 행은 숫자로 정렬됩니다(선행 공백은 무시됨). 두 줄의 시작 부분에 동일한 번호가 있으면 줄의 사전순 정렬이 수행됩니다.
답변2
열별로 다시 정렬하면 됩니다. 첫 번째 열(발생 횟수)을 기준으로 정렬하려면 -k1을 사용하고 두 번째 열(값)을 기준으로 정렬하려면 -k2를 사용합니다.
awk '{print $5}' FILE | sort | uniq -c | sort -k1 # Sort by ascending occurrences
awk '{print $5}' FILE | sort | uniq -c | sort -k2 # Sort by ascending values
내림차순으로 정렬해야 하는 경우(-r):
awk '{print $5}' FILE | sort | uniq -c | sort -k1 -r # Sort by descending occurrences
awk '{print $5}' FILE | sort | uniq -c | sort -k2 -r # Sort by descending values