Tips

  • For文の書き方

1列目:ヘッダ、2列目〜100列目:数のファイルがあるとする。
1行ごとに、列2〜列100の数値の合計値を計算して、出力する。

gawk '{A=0;for(i=2;i;<101;i++){A+=$i};print $1,A}' [InputFileName] > [OutputFileName]

  • Scriptの実行
    • AwkScript.awkを作成する。

ファイルの内容は1文、cygwin上の作業フォルダに保存する。

#「三日月」という単語を含むデータ行を探し、
#1列目から1317行目を、縦方向に出力する。(これはコメント文)
/三日月/ {for(i=1;i<1318;i++){print $i}}

cygwin上で以下のコマンドで実行。

gawk -f ./AwkScript.awk [InputFileName] > [OutputFileName]

  • ファイル名をfor文で作成しつつ出力

出力ファイル名は、「行番号.csv」とする。

gawk '{fn=NR".csv"; for(i=0;i<100;i++){print $i>fn};close(fn)}' [InputFileName]