2007-10-31から1日間の記事一覧

awk の OFS は有効です (続き)

awk

きむらさんが解説してくださっています。 ただし特別な動作として、フィールド変数やレコード変数($0ね)に変更を加えたときとか、特殊変数NFを操作したときに、フィールド変数を使ってのレコードの再構築が行われます。このときは、フィールドとフィールドの…

連想配列のソート

Sorting associative arrays これは定石なのかもしれないけれど、裏技的なことも書かれています。Golf を awk でされている方は環境変数を export できればなぁと思っているのではないでしょうか。まぁ、ソースコードを読めば書かれているわけですが・・・。…

スクリプト中の変数の抜き出し

how to list all defined variables gawk には '--dump-variables' というオプションがありますが、これを使います。 クラシカルな awk は Ed Morton が書かれているように配列に格納して for 文で探す手段も有効ではないでしょうか。 ... { V["var1"] = 3; …

shell 変数の awk での使用

shell variable in awk これも定石と言うか FAQ に近い問題です。基本的には '-v' オプションで渡すのが簡単で間違いがありません。 #! /bin/bash pattern=$1 cat file.c | awk '{ if($0 ~ $pattern) print $0; }' というものが動作しないと言うことですが、…

最後の 2 行を出力する

Help to explain awk が苦手とする tail のようなものですが、awk で行う場合には定石があって、Janis Papanagnou も親切に回答しています。 { two_lines = saved_line "\n" $0 saved_line = $0 } END { print two_lines } { prev_line = curr_line curr_lin…