おぼえがき

おぼえがき

awk システム変数を理解(FS OFS RS ORS NF NR FILENAME)

2007-02-23 | sed awk
awk 'BEGIN {FS="n"; RS="ORS="-"} {print $1,$NF}' aaaa

ファイルの中身
-----------------
1
2
3

4
5
6

7
8
9
-----------------

以下のスクリプトの実行

ファイルの1から3 4から6 7から8をひとつのデータとして考える

awk '
 BEGIN {
  FS="n";      # カラムの区切りを改行に
  RS="";       # レコードの区切りを空白に(ファイルの3と4の間)
  OFS="*";      # 出力のデミリタ(カンマがあればOFSに変わる $1,$NFの部分)
  ORS="nn"     # 出力のデミリタ(改行二つが1回ごとの実行のデミリタとなる)
 }

 {
  print NR"." $1,$NF # NR:現在の行 / NF:1レコードの最大カラムの位置
 }

 END {
  print FILENAME   # FILENAME : ファイル名の出力
 }' ファイル名


-----------------
結果

1.1*3

2.4*6

3.7*9

ファイル名
-----------------

最新の画像もっと見る

コメントを投稿