× 無料のユーザー登録をすると学習状況を管理することができるようになります

AWK入門 (全13回)

効率的にテキスト処理を行うことができるAWKについて、その使い方を学びます。

このレッスンでは GNU Awk 3.1.5 を使用しています。

#01 AWKとはなにか?
2013年3月7日
AWKという名前は3人の開発者の頭文字をとって付けられたものになります。より詳しくはWikipediaをどうぞ。
http://ja.wikipedia.org/wiki/AWK
#02 はじめてのAWKプログラミング
2013年3月7日
C言語のように複数行をコメントアウトするような書き方(/* ... */)はありません。
#03 レコードとフィールドを理解しよう
2013年3月7日
「print $0」は、単に「print」と省略することもできます。
#04 パターンを理解しよう (1)
2013年3月7日
フィールドの区切りではなくてレコードの区切りを指定したい場合はRSを使います(デフォルトは「改行」)。
2013年9月9日
パターンはカンマで区切ると「ここからここまで」という意味になります。例えば5番目から10番目のレコードまで表示するには次のようにします。
NR == 5, NR == 10 { print }
#05 パターンを理解しよう (2)
2013年3月7日
正規表現をそのまま書けば、その正規表現が含まれるレコードが処理対象となります。たとえば「item-4」が含まれるレコードを表示したい場合はつぎのように書きます。
/item-4/ { print }
#06 printfを使ってみよう
2013年3月7日
printfについて詳細を知りたい方は以下を参考にしてみてください。
http://linuxjm.sourceforge.jp/html/LDP_man-pages/man3/sprintf.3.html
#07 変数と演算子を理解しよう
2013年3月7日
初期化されていない変数を使うと、0か空文字列かになります。
そのため、今回のコードの「BEGIN { sum = 0 }」がなくても正しく動作します。
2013年3月7日
変数の型を厳密に意識する必要はありません。使われ方によって自動的に判別されます。ただ強制的に数値、文字列に解釈させたい場合は次のように行います。
x = x + 0; # xを数値として解釈させる
s = s '' # sを文字列として解釈させる
#08 便利な組み込み関数を使ってみよう
2013年3月7日
数値に関する組み込み関数についてはこちらを参考にしてみてください。
http://www.gnu.org/software/gawk/manual/gawk.html#Numeric-Functions
文字列に関するものはこちら。
http://www.gnu.org/software/gawk/manual/gawk.html#String-Functions