okoba23 @ ウィキ
awk
最終更新:
okoba23
-
view
awk
AWK のプログラムは、パタンとオペレータの組を並べた形になっている。入力元から1行読み込んで、正規表現で条件指定されたフィールドセパレータに従ってフィールドに分割してから、その行について条件式が真ならブロックの中身を実行する。これを全ての入力行について行うのが基本的な動作である。 データ構造としては、数値、文字列、配列、連想配列を持つ。
AWKは起動されると先ずAWKプログラムソースを読み込む。AWKは読み込んだプログラムを内部表現にコンパイルした後,指定された入力ファイルを順に処理していく。入力された各行についてAWKはその行がAWKプログラムに指示されたパターンに合致するかどうかを調べる。そしてパターンが合致すればそれに対応する作用ブロックが実行される。
文字列処理
■特定のフィールドの抽出
'{print $??}' ・・・??の所にフィールドNo。
ex1.)
% ls -la
drwxrwsr-x 2 root staff 4096 2006-08-22 15:11 ./
drwxrwsr-x 14 root staff 4096 2006-12-07 03:19 ../
-rwxr-xr-x 1 root root 6681 2005-10-13 20:36 ipf-mod.pl*
-rwxr-xr-x 1 root root 30373 2005-10-13 20:36 mib2c*
-rwxr-xr-x 1 root root 15844 2005-10-13 20:36 net-snmp-config*
% ls -la | awk '{print $1}'
drwxrwsr-x
drwxrwsr-x
-rwxr-xr-x
-rwxr-xr-x
-rwxr-xr-x