このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン 前のリビジョン 次のリビジョン 前のリビジョン awk [2016/05/18 14:01] – mumeiyamibito awk [2018/03/13 16:46] (現在) – [シェル変数をパターンとして引き渡す] mumeiyamibito
} }
</code>Hello を 3 回出力 </code>Hello を 3 回出力
==== その他 ====
* 改行
* 複数行を1行にしたい(ワンライナー)場合、「;」が改行の代わりになる
==== よく使う関数 ==== ==== よく使う関数 ====
* length\\ <code>length(配列)</code> * length\\ <code>length(配列)</code>
* 文字列や配列の長さを出力 * 文字列や配列の長さを出力
==== その他 ====
* 改行
* 複数行を1行にしたい(ワンライナー)場合、「;」が改行の代わりになる
===== awk プログラムの例 ===== ===== awk プログラムの例 =====
a w k ′ B E G I N t o t a l = 0 ; c o u n t = 0 0!~/^#/{total += $2; count ++} END{average = total / count; print "Total: " total; print "Average: " average}' a w k ′ B E G I N t o t a l = 0 ; c o u n t = 0 0!~/^#/{total += $2; count ++} END{average = total / count; print "Total: " total; print "Average: " average}'
</code> </code>
===== Tips =====
==== シェル変数をパターンとして引き渡す ====
* ''-v'' オプションで変数を渡しつつ、''0 V A R ″ で マ ッ チ さ せ る < c o d e b a s h > awk -v VAR '0 ~ VAR{print 0}' FILE</code>
* ''VAR'' は変数名
* ''FILE'' は処理するファイル名
* 参考サイト: [[https://stackoverflow.com/questions/39384283/how-to-match-a-pattern-given-in-a-variable-in-awk | regex - How to match a pattern given in a variable in awk? - Stack Overflow]]
===== 参考サイト ===== ===== 参考サイト =====
* [[http://www.techscore.com/blog/2012/11/19/%E3%81%82%E3%81%88%E3%81%A6%E8%A8%80%E3%81%86%E3%81%BB%E3%81%A9%E3%81%A7%E3%81%AF%E3%81%AA%E3%81%84%E3%81%91%E3%82%8C%E3%81%A9%E3%82%82%E3%80%81awk%E3%81%AE%E5%8C%BA%E5%88%87%E3%82%8A%E6%96%87/ | » あえて言うほどではないけれども、awkの区切り文字について TECHSCORE BLOG]] 区切り文字 * [[http://www.techscore.com/blog/2012/11/19/%E3%81%82%E3%81%88%E3%81%A6%E8%A8%80%E3%81%86%E3%81%BB%E3%81%A9%E3%81%A7%E3%81%AF%E3%81%AA%E3%81%84%E3%81%91%E3%82%8C%E3%81%A9%E3%82%82%E3%80%81awk%E3%81%AE%E5%8C%BA%E5%88%87%E3%82%8A%E6%96%87/ | » あえて言うほどではないけれども、awkの区切り文字について TECHSCORE BLOG]] 区切り文字
* [[http://itdoc.hitachi.co.jp/manuals/3020/30203S3530/JPAS0241.HTM | awkコマンド(テキストの加工やパターン処理をする)]] * [[http://itdoc.hitachi.co.jp/manuals/3020/30203S3530/JPAS0241.HTM | awkコマンド(テキストの加工やパターン処理をする)]]
* [[http://shellscript.sunone.me/awk.html | AWK リファレンス | UNIX & Linux コマンド・シェルスクリプト リファレンス]]
{{tag>プログラミング コマンド}}