※MACターミナル(BSD系)での動作確認です。
スポンサーリンク
awkの連想配列
※awkの使い方をまとめて一覧にしました。
参考:awk入門-使い方まとめ一覧-
参考:awk入門-使い方まとめ一覧-
※MACターミナル(BSD系)での動作確認です。
awkの連想配列では、下記の形式で、keyで指定した配列arrの要素にvalueを格納できます。
arr[key] = value
この仕組みを使うと、文字列の出現回数を簡単にカウントできます。
例えば、下記のように配列arrのkeyにカウントしたい文字列を指定します。
そして、文字列が出現するたびに、カウントしたい文字列で指定した要素の値を0からインクリメントしていきます。
インクリメントされた値が、keyで指定した文字列の出現回数となります。
arr[文字列]++
スポンサーリンク
特定の列の文字列の出現回数をカウントするサンプルコード
例えば、下記のin.txtがあったとします。
$ cat in.txt e awk f find g awk h find i grep
下記がサンプルコードになります。
in.txtの2列目の文字列の出現回数をカウントして、最後に配列arrのkeyとvalueをprint出力して、出現した文字列と出現回数を出力します。
$ cat sample.awk #!/bin/sh cat in.txt | awk ' { arr[$2]++ } END{ print "2列目の文字列を出力" for ( i in arr ) { print i "は" arr[i] "回出現" } } '
下記が実行結果になります。
$ ./sample.awk 2列目の文字列を出力 awkは2回出現 grepは1回出現 findは2回出現
スポンサーリンク