Awk

提供: Wikinote
2009年1月28日 (水) 07:34時点におけるHagio (トーク | 投稿記録)による版 (新しいページ: '== awk == * 参考 URL ** [http://www.kt.rim.or.jp/~kbk/gawk/gawk_toc.html The GAWK Manual] (2.15.6) ** [http://www.kt.rim.or.jp/~kbk/gawk-30/index.html AWK Language Programmin...')

(差分) ←前の版 | 最新版 (差分) | 次の版→ (差分)
移動: 案内検索

awk

awk [-F sep] 'command' [file ...]
  • 組み込み変数
    • FS - フィールドセパレータ
    • NR - 現レコード数
    • NF - フィールド数
    • OFS - 出力フィールドセパレータ (print のカンマ区切りのセパレータ)
    • ORS - 出力レコードセパレータ
  • 演算子
    • ~ - マッチしたら真 ($0 ~ /re/)
    • 他はほぼ C と同じ
  • 制御構文
    • break, continue - for や while の中で使う
    • next - 次のレコードへ処理を移す
    • exit - 残りのレコードは見ないで処理を中断
  • 配列
    • array[i] - 一次元配列
    • array[i,j,k] - 三次元配列
    • array[str] - 連想配列
      • for (x in array) ... ですべてのキーを取り出し可能
      • if (str in array) ... でキー str があるかどうか
      • array[str] = array[str] "hoge" で連結可能
  • その他
    • 変数の初期化は不要
    • print $1 $2 で連結出力、カンマ区切りでスペース
    • { print $0; } = { print; } =
    • 配列は参照渡し
    • -f program で自作ライブラリを複数取り込める
    • $n (n > 0) を書き換えると、$0 も書き換わる