発生回数を計算する必要があるデータがあります。
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つの問題は、配列に格納されている数を数える必要があることです。上記の出力の行数を計算する必要があります。予想出力:サム
答え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:~$