linux 中 awk語句 getline 和 enxt的區別

小鲨鱼2018發表於2024-10-27

001、

[root@PC1 test]# cat -A a                                           ## 測試文字
1 2$
3 4$
5 6$
7 8$
[root@PC1 test]# awk '{print "$1="$1; getline; print "$2="$2}' a      ## getline 會讀入下一行,並對下一行按照awk內建變數規則賦值
$1=1
$2=4
$1=5
$2=8
[root@PC1 test]# awk '{print "$1="$1; next; print "$2="$2}' a         ## next就是結束當前行的處理,相當於結束最外層的行迴圈
$1=1
$1=3
$1=5
$1=7

[root@PC1 test]# cat -A b
1 2$
3 4$
5 6$
[root@PC1 test]# awk '{print "$1="$1;getline;print "$2="$2}' b     ## 當程式進入第三行時,首先輸出$1 = 5, 此時getline讀取下一行,但是沒有第四行,此時,$2變數仍然是第三行的$2欄位
$1=1
$2=4
$1=5
$2=6
[root@PC1 test]# awk '{print "$1="$1;next;print "$2="$2}' b        ## next結束外層迴圈
$1=1
$1=3
$1=5

source:

01、https://blog.csdn.net/weixin_34218890/article/details/93042607

相關文章