awk はRWBの vp ファイルや lsp ファイルなどの、規則正しく並んでいる テキストファイルに対して、
などをするのに適したコマンド(プログラム言語でもある)である。
簡単な処理ならば、C言語でプログラムをするよりも、手早く行なうことができるので、
覚えておくといろいろ便利だろう。
また、文法はC言語に似ているので、C言語を知っている者には簡単に覚えることができる。
一度覚えておくと、DOS、WINDOWS、Mac などのパソコンでも使用できるので、
家でも、会社でも役に立つ。
awk はコマンドラインでも、C言語のようにプログラムをファイルに書いても実行できるが、
まず、一番簡単なコマンドラインから、実行する方法をやってみる。
最初にも書いた通り、awk は何かのデータを元に処理を進めるので、
サンプルデータとして、以下のようなデータファイルを考える。
# cat data 1 2 3 4 5 6 7 8 9 #
このデータから、各行の最初のデータだけを取り出すには、以下のようにコマンドを打ち込む。
# awk '{print $1}' data 1 4 7 #
上のコマンドで、awk はコマンド名、その後の' (シングルクォート)で囲まれた部分が、
データファイル(data)に対して行なう、処理を表す部分である。
そして、awk では、C言語のように{から}までの部分に、プログラムを書いておく。
この場合、各行の1番目のデータを表示したいので、その1番目のデータを表す$1を、
C言語のprintfと同じような働きをするprintを使って、画面(標準出力)に表示している。
awk は、データファイルを先頭の行から、一行づつ読んで、処理を実行して行く。
上の例では、まず一行目の
1 2 3
を読んで、
{print $1}
を実行し(一番目の 1 を表示する)、以下同様に2行目、3行目と読んで、実行を繰り返してゆく。
各行を読み込むと、その行にあるデータを、
に、自動的に代入してゆく。