`sort -n |sort-n`의 저렴한 버전

`sort -n |sort-n`의 저렴한 버전

정렬되지 않은 IP 목록이 있는데 이를 세어 발생순으로 정렬해야 합니다.
써봤는데 sort -n | uniq -c | sort -n효과는 좋은데 좀 더 저렴하게 하고 싶은데... 과연 awk이게 가능할까요?

입력하다

1.1.1.1
2.2.2.2
1.1.1.1
3.3.3.3
2.2.2.2
1.1.1.1

산출

3 1.1.1.1
2 2.2.2.2
1 3.3.3.3

답변1

싱글로프로세스:

awk '{ a[$1]++ }END{ for(i in a) print a[i],i }' file

산출:

3 1.1.1.1
2 2.2.2.2
1 3.3.3.3

발생 내림차순으로 레코드를 출력하려면 다음 GNU를 사용하십시오.방법:

awk 'BEGIN{ PROCINFO["sorted_in"]="@val_num_desc" }{ a[$1]++ }
     END{ for(i in a) print a[i],i }' file

관련 정보