1~30을 출력하는 방법과 파일에서 해당 숫자를 검색할 때 발생하는 횟수

1~30을 출력하는 방법과 파일에서 해당 숫자를 검색할 때 발생하는 횟수

텍스트 파일이 있습니다https://1drv.ms/t/s!AjlMpzDMn2h7hWKyBGBxdhHXwjm8

마지막 열은 1부터 30까지의 숫자로 채워집니다.

1부터 30까지의 각 숫자를 나열하는 동시에 해당 열에 숫자가 나타나는 횟수도 표시하는 코드가 필요합니다.

그래서 그것은 다음과 같습니다

1=13
2=10
3=12 
.... up until 30.

현재 올바르게 수정하면 작동할 것으로 생각되는 코드가 있습니다.

awk -F':' 'BEGIN{ split("sparkling fine fortified sweet white red", words, " ") }
       $3 in words{ c[$3]++ }
       END{ for(i in words) print words[i]"="c[i] }' file

답변1

간단한 방법(파일의 첫 번째 줄 사용):

:> awk -F: '{ print $5; }' input | sort -n | uniq -c
 2 1
 5 2
 4 3
 5 4
 2 5

:> awk -F: '{ print $5; }' input | sort -n | uniq -c |
    while read count number; do echo "${number}=${count}"; done
1=2
2=5
3=4
4=5
5=2

그냥 awk를 사용하세요

:> awk -F: '{a[$5]++}; END { for(i=1;i<31;i++) printf "%2d=%d\n",i,a[i]; }' input
 1=2
 2=5
 3=4
 4=5
 5=2

관련 정보