以下の内容はhttps://shuzo-kino.hateblo.jp/entry/2015/10/03/235341より取得しました。


AWKにおけるバッドパターン、getlineの多用について

getlineは、大雑把にいうと……条件にあった行を取得しに行く組み込み関数です。
たとえば、3行目から2個先の行を取る場合、こんな風に。

$ seq 1 10 | gawk '/3/{getline; getline; print}'
5

あるいは、入力を既存ファイルの内容で割り込みさせるとか

$ seq 1 5 | gawk '{if($1==3){getline < "sample.txt"; print} else {print} }'
1
2
This is my dog,
4
5

一見便利そうな関数ですが……便利な関数につきものな「バッドパターン」の宝庫でもあるそうで。
参考もとでは、やりがちな実装と、それに対応した「ベストプラクティス」を提案してくれています。

つづき:
shuzo-kino.hateblo.jp

参考もと

awk.info




以上の内容はhttps://shuzo-kino.hateblo.jp/entry/2015/10/03/235341より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14