awk memo


BEGIN{                                                  # 基本構文(初期化)
}                                                       # 基本構文(初期化)
{                                                       # 基本構文(繰り返し)
}                                                       # 基本構文(繰り返し)
END{                                                    # 基本構文(終了処理)
}                                                       # 基本構文(終了処理)

FS = "\t";                                              # フィールドセパレータ設定

var = $0;                                               # 入力1行代入
var = $1                                                # 入力第1項目代入

str = "string";                                         # 文字列代入
num = 123;                                              # 数値代入
arry[idx1,idx2] = "abc";                                # ハッシュ配列に代入
delete arry;                                            # 配列削除
delete arry[index];                                     # 配列要素削除
var++;                                                  # インクリメント
var--;                                                  # デクリメント

getline var <"foo.txt";                                 # ファイル入力
close("foo.txt");                                       # ファイルクローズ

print "val=", val;                                      # プリント文
printf("val=%d\n", val);                                # 書式付きプリント文
str = sprintf("val=%d\n", val);                         # 書式付き代入文
print "val=", val >"/tmp/foo.txt";                      # ファイルへ書き出し

if (var1 == var2){                                      # if文
if (var1 != var2){                                      # if文
if (var1 >= var2){                                      # if文
if (var1 <= var2){                                      # if文
if (var1 > var2){                                       # if文
if (var1 < var2){                                       # if文
if (var1 ~ /re/ && ... ){                               # if文(正規表現 かつ)
if (var1 !~ /re/ || ... ){                              # if文(正規表現 または)
}else{                                                  # if文
}                                                       # if文

while ( ... ){                                          # while文
}                                                       # while文

for (i in arry){                                        # for文(配列の添字)
for (i = 1; i < 10; i++){                               # for文
}                                                       # for文

gsub(/re/, "abc", rec);                                 # 文字列置換
split(string, arry, /re/);                              # 文字列分割
index(string, "aaa");                                   # 文字列位置検索
length(string);                                         # 文字列長
substr(string, start, length);                          # 文字列切り出し

system("echo aaa");                                     # コマンド実行

home = ENVIRON["HOME"];                                 # 環境変数参照

[更新] [戻る]
m-ito@myh.no-ip.org