awk中的NR和FNR的區別

2021-05-28 08:16:04 字數 1071 閱讀 5099

一,nr和fnr的不同

nr:表示當前記錄數

fnr:也表示當前記錄數,但是fnr的作用域只在乙個檔案內.如果重新開啟檔案,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,乙個檔案中nr,fnr

[root@blackghost test2]# awk '' aaa

1     //nr

1     //fnr

1111:23434:zhang22

hoadsf:asdf:ccc

上例中,我們可以看出nr和fnr是一樣的

3,多個檔案中nr,fnr

[root@blackghost test2]# awk '' aaa ccc11

1111:23434:zhang

2      //nr

2      //fnr

hoadsf:asdf:ccc

3      //nr

1      //fnr  下面的資料是來自ccc,所以nfr重置為1

1111:23434:zhang42

hoadsf:asdf:ccc53

tank:zhang:x2034264

ying:zhasdf:7234275

hosa:asdfa:2345sdf

看到不同了吧,多檔案操作時,新開啟檔案時fnr會重新從1開始

awk的NR和FNR區別

nr,表示awk開始執行程式後所讀取的資料行數.fnr,與nr功用類似,不同的是awk每開啟乙個新檔案,fnr便從0重新累計.下面看兩個例子 1,對於單個檔案nr 和fnr 的 輸出結果一樣的 awk file1 1 a b c d 2 a b d c 3 a c b d awk file1 1 a...

awk中的NR和FNR的區別

nr,表示awk開始執行程式後所讀取的資料行數.fnr,與nr功用類似,不同的是awk每開啟乙個新檔案,fnr便從0重新累計.下面看兩個例子 1,對於單個檔案nr 和fnr 的 輸出結果一樣的 awk file1 1 a b c d 2 a b d c 3 a c b d awk file1 1 a...

AWK的NR和FNR詳解

書上說 nr,表示awk開始執行程式後所讀取的資料行數.fnr,與nr功用類似,不同的是awk每開啟乙個新檔案,fnr便從0重新累計.下面看兩個例子 1,對於單個檔案nr 和fnr 的 輸出結果一樣的 awk file1 1 a b c d 2 a b d c 3 a c b d awk file1...