발생 횟수를 계산해야 하는 데이터가 있습니다.
1
2
1
2
3
1
아래 awk 명령을 사용하여 정상적으로 작동했습니다.
awk -F'","' '{ a[$1]++ } END { for (n in a) print n "=" a[n] } ' text.txt
그리고 출력:
2=2
3=1
1=3
또 다른 문제는 배열에 저장된 개수를 계산해야 한다는 것입니다. 위 출력의 행 수도 계산해야 할 것으로 예상됩니다. 예상 출력:삼
답변1
GNU에서는 awk
연결 length(my_arry)
한 요소의 수가 표시됩니다.my_arry
촬영.
배열 길이를 지원하지 않는 다른 구현에서는 다음을 수행할 수 있습니다.
awk '{ … } END{ for (elements in my_arry) count++; print count }'
답변2
명령 사용
awk '{a[$1]++} END { for ( n in a ) { i++; print n "=" a[n]} print i }' file
예를 들어
#!/bin/bash
echo '1
2
1
4
5
4' | awk '{a[$1]++} END { for ( n in a ) { i++; print n "=" a[n]} print i }'
출력은 다음과 같습니다
1=2
2=1
4=2
5=1
4
답변3
이는 다음 방법으로 수행됩니다.
주문하다:awk '{a[$1]++}END{for(x in a)print a[x]"="x}' filename
command: @praveen:~$ awk '{a[$1]++}END{for(x in a)print a[x]"="x}' p.txt
3=1
2=2
1=3
praveen@praveen:~$