目次 に戻る

2003 awk intro

NF & $NF

GNU Awk 3.0.6 + multi-byte extension 1.15

注意

最後の部分を 抜き出す、データーに この様な物が 有る場合

Pmt> cat 42_President_list 
John Kennedy
Lyndon B. Johnson
Richard Milhouse Nixon
Gerald R. Ford
Jimmy Carter
Ronald Reagan
George Bush
Bill Clinton

最後の項目のみ 抜き出すとすると フィールドセパレーター で 区別する事 が 出来ない 例えば

Pmt> cat 011_awkscr 
# List up 011

{ print $2 }
Pmt> awk -f 011_awkscr 42_President_list 
Kennedy
B.
Milhouse
R.
Carter
Reagan
Bush
Clinton

この様にするのは 不味い と いって

Pmt> cat 011a_awkscr 
# List up 011a_awkscr

 NF ~ 1   { print $1 }  
 NF ~ 2   { print $2 }  
 NF ~ 3   { print $3 }  
Pmt> awk -f 011a_awkscr 42_President_list 
Kennedy
Johnson
Nixon
Ford
Carter
Reagan
Bush
Clinton

どこまで フィールドがあるのか わからない場合は

NF ~ 1   { print $1 }  
 NF ~ 2   { print $2 }  
 NF ~ 3   { print $3 }  
...
NF ~ Num  { print $Num }

というわけには いかないだろう、そこで 最後を表す物を 使用する事になる この場合は $NF というものを 使用するしからば

Pmt> cat 011_awkscr 
# List up 011_awkscr
{ print $NF}
Pmt> awk -f 011_awkscr 42_President_list 
Kennedy
Johnson
Nixon
Ford
Carter
Reagan
Bush
Clinton

取り敢えず こういうことです。まだ 出力の 様式を 考慮する程度には ほど 遠いのです。

にゃんたろう 拝!
GNU Awk 3.0.6 + multi-byte extension 1.15
2007年 1月 9日 (火) 21:14:27 JST 作成


目次 に戻る

Copyright © 2004.-2007. nyantarou All Rights Reserved.