プログラムの構成 の変更点


 RIGHT:寄稿:東條遼平
 
 * パターンとアクション [#l361c50b]
 
 Awkはpattern{action}という構成になっています。これは行単位で適用され、patternが真であればactionが実行されます。
 
  $ awk 'NR<5{print}' sindata
  0.000000
  0.002830
  0.005660
  0.008490
 
 このプログラムはNRが5より小さいときにその行を全て出力します。ここでNRとは今まで読み込んだ行の数ですので4行だけ出力されています。 printは出力する変数を指定することもできるのですが、何も指定しないとその1行が全て出力されます。
 
 このpattern{action}という構成はどちらか片方を省略することもできます。 patternを省略すれば全ての行に対しactionが行われ、 actionを省略すればpatternが真である行に対して{print}が行われます。
 
  $awk '{print $1*3}' sindata
 
 これは全ての行に対し行の1項目の値を3倍して出力しています。 $1というのが第一項目の値が入っている。同じ様に$2は第二項目が、$3には第三項目の値が入っている。 $0とするとこれはその行全てが入っており、{print}と{print $0}は同じ意味です。
 
  $ awk 'NR<5' sindata
 
 これは最初のプログラムと同じく最初の4行が出力されます。
 
Valid XHTML 1.1! home > コンピュータ > プログラミング >
リロード   新規 編集 差分 添付 複製 改名   トップ 一覧 検索 最終更新 バックアップ   ヘルプ   最終更新のRSS
Modified by 物理のかぎプロジェクト PukiWiki 1.4.5_1 Copyright © 2001-2005 PukiWiki Developers Team. License is GPL.
Based on "PukiWiki" 1.3 by yu-jiPowered by PHP 5.2.17HTML convert time to 0.004 sec.