awkにおけるNRとFNRの区別小結とインスタンスの実証

1323 ワード

一、NRとFNRの違い
NR:現在の記録数FNRを示す:現在の記録数も示すが、FNRの役割ドメインは1ファイル内のみである.ファイルを再度開くとFNRは1から始まる.
二、実例説明
1,テストファイルaaa,cccc
 
  
[root@Blackghost test2]# cat aaa    // aaa
1111:23434:zhang
hoadsf:asdf:ccc
[root@Blackghost test2]# cat ccc    // ccc
1111:23434:zhang
hoadsf:asdf:ccc
tank:zhang:x20342
ying:zhasdf:72342
hosa:asdfa:2345sdf

2,1つのファイルの中でNR,FNR
 
  
[root@Blackghost test2]# awk '{print NR;print FNR;print $0;}' aaa
1     //NR
1     //FNR
1111:23434:zhang
2
2
hoadsf:asdf:ccc

前述の例では、NRとFNRは同じであることがわかります.
3,複数ファイル中NR,FNR
 
  
[root@Blackghost test2]# awk '{print NR;print FNR;print $0;}' aaa ccc
1
1
1111:23434:zhang
2      //NR
2      //FNR
hoadsf:asdf:ccc
3      //NR
1      //FNR  ccc, NFR 1
1111:23434:zhang
4
2
hoadsf:asdf:ccc
5
3
tank:zhang:x20342
6
4
ying:zhasdf:72342
7
5
hosa:asdfa:2345sdf

違うでしょう、マルチファイル操作の時、新しくファイルを開く時FNRは再び1から始めます