最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

LINUX中詳解AWK內(nèi)建變量FS,NF,NR,RT,RS,ORS,OFS

 更新時間:2017年11月14日 14:45:42   投稿:laozhang  
很多朋友沒搞告白AWK內(nèi)建變量FS,NF,NR,RT,RS,ORS,OFS的方法和原理,小編給大家總結(jié)了詳細的內(nèi)容,一起來學習下思路。

看了網(wǎng)上好多關于AWK內(nèi)建變量的文章,這里加上個人的理解和記憶,可以讓大家掌握這些變量的基本用法。

FS 指定字段un列分隔符(Font Space)

[~/AWK_learning]$ echo "111|222|333" | awk '{print $1}'
111|222|333
[~/AWK_learning]$ echo "111|222|333" | awk 'BEGIN{FS="|"}{print $1}'
111

OFS 指定輸出字段列分隔符(Output Font space)

[~/AWK_learning]$ echo "111 222 333" |awk 'BEGIN{OFS="|";}{print $1,$2,$3}'
111|222|333

RS指定行分隔符 默認分隔符為\n(Row Space)

[~/AWK_learning]$ echo "111 222|333 444|555 666" | awk 'BEGIN{RS="|"}{print $0}'
111 222
333 444
555 666

ORS指定輸出行分隔符

[~/AWK_learning]$ awk 'BEGIN{ORS="|";}{print $0;}' test.txt
111 222|333 444|555 666

RT 代指分隔符

[~/AWK_learning]$ echo "111 222|333 444|555 666" | awk 'BEGIN{RS="|"}{print $0,RT}'
111 222 |
333 444 |
555 666 |

NF 每行字段總數(shù)(Number of Font)

[~/AWK_learning]$ cat test.txt
111 222
333 444
555 666
[~/AWK_learning]$ awk '{print NF}' test.txt
2
2
2
[~/AWK_learning]$ awk '{print $NF}' test.txt
222
444
666

NR 當前行數(shù)(Number of Row)

[~/AWK_learning]$ cat test.txt
111 222
333 444
555 666 777
[~/AWK_learning]$ awk '{print NR}' test.txt
1
2
3
[~/AWK_learning]$ awk '{print $NR}' test.txt
111
444
777

下面我們在來看下,在內(nèi)建變量執(zhí)行中的相關問題:

NR表示從awk開始執(zhí)行后,按照記錄分隔符讀取的數(shù)據(jù)次數(shù),默認的記錄分隔符為換行符,因此默認的就是讀取的數(shù)據(jù)行數(shù),NR可以理解為Number of Record的縮寫。

在awk處理多個輸入文件的時候,在處理完第一個文件后,NR并不會從1開始,而是繼續(xù)累加,因此就出現(xiàn)了FNR,每當處理一個新文件的時候,F(xiàn)NR就從1開始計數(shù),F(xiàn)NR可以理解為File Number of Record。

  NF表示目前的記錄被分割的字段的數(shù)目,NF可以理解為Number of Field。

下面以示例程序來進行說明,首先準備兩個輸入文件class1和class2,記錄了兩個班級的成績信息,內(nèi)容分別如下所示:

CodingAnts@ubuntu:~/awk$ cat class1
zhaoyun 85 87
guanyu 87 88
liubei 90 86
CodingAnts@ubuntu:~/awk$ cat class2
caocao 92 87 90
guojia 99 96 92

現(xiàn)在要查看兩個班級的所有成績信息,并在每條信息前加上行號,則可以使用下面的awk指令;

CodingAnts@ubuntu:~/awk$ awk '{print NR,$0}' class1 class2
1 zhaoyun 85 87
2 guanyu 87 88
3 liubei 90 86
4 caocao 92 87 90
5 guojia 99 96 92

這里的行號就是通過NR來實現(xiàn)的,awk每讀取一條記錄,NR的值便加一。如果要求每個班級的行號從頭開始變化,則需要使用FNR來實現(xiàn),如下:

CodingAnts@ubuntu:~/awk$ awk '{print FNR,$0}' class1 class2
1 zhaoyun 85 87
2 guanyu 87 88
3 liubei 90 86
1 caocao 92 87 90
2 guojia 99 96 92

相關文章

  • linux 網(wǎng)絡編程 socket選項的實現(xiàn)

    linux 網(wǎng)絡編程 socket選項的實現(xiàn)

    這篇文章主要介紹了linux 網(wǎng)絡編程 socket選項的實現(xiàn),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-06-06
  • Linux讓程序在后臺運行的四種方法

    Linux讓程序在后臺運行的四種方法

    這篇文章主要介紹了Linux讓程序在后臺運行的四種方法和使用推薦,通過代碼示例講解的非常詳細,對大家的學習或工作有一定的幫助,需要的朋友可以參考下
    2024-03-03
  • Linux下如何搭建兩個tomcat服務

    Linux下如何搭建兩個tomcat服務

    本篇文章主要介紹了Linux下如何搭建兩個tomcat服務,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-03-03
  • Linux下用dnsmasq做dns cache server的配置方法

    Linux下用dnsmasq做dns cache server的配置方法

    最近國外的服務器本地DNS總是出故障,閃斷一會兒都會影響業(yè)務。于是在機房里找了兩臺Server,安裝上keepalived和dnsmasq實際本地的DNS緩存
    2014-08-08
  • Linux中dd命令使用實例教程

    Linux中dd命令使用實例教程

    dd命令用指定大小的塊拷貝一個文件,并在拷貝的同時進行指定的轉(zhuǎn)換。下面這篇文章主要給大家介紹了關于Linux中dd命令使用的相關資料,對大家具有一定的參考學習價值,需要的朋友們下面來一起看看吧。
    2017-05-05
  • linux把一個文件的內(nèi)容復制到另一個文件的末尾

    linux把一個文件的內(nèi)容復制到另一個文件的末尾

    這篇文章主要介紹了linux把一個文件的內(nèi)容復制到另一個文件的末尾,文中給大家提到了linux 把文件末尾輸出到另一個文件的方法,需要的朋友可以參考下
    2019-08-08
  • 基于Apache的支持.NET2.0的Web服務器搭建

    基于Apache的支持.NET2.0的Web服務器搭建

    在Windows XP下如果沒有IIS,那么Apache HTTP Server無疑是最好的替代品了。而它也能夠很好的支持ASP.NET1.1/2.0。下面就介紹一下如何搭建該環(huán)境。
    2009-08-08
  • 使用VMware 15 安裝虛擬機和使用CentOS 8的步驟詳解

    使用VMware 15 安裝虛擬機和使用CentOS 8的步驟詳解

    這篇文章主要介紹了使用VMware 15 安裝虛擬機和使用CentOS 8的詳細步驟,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-01-01
  • 在Linux服務器下查看公網(wǎng)IP地址的方法

    在Linux服務器下查看公網(wǎng)IP地址的方法

    在接口對接的時候,很多公司需要對方提供公網(wǎng)ip地址來配置對應的IP白名單,那么在Linux環(huán)境下怎么查看對應服務器的公網(wǎng)IP呢,所以本文給大家介紹了在Linux服務器下查看公網(wǎng)IP地址的方法,需要的朋友可以參考下
    2023-12-12
  • Linux系統(tǒng)下CUDA和cuDNN環(huán)境配置方式

    Linux系統(tǒng)下CUDA和cuDNN環(huán)境配置方式

    這篇文章主要介紹了Linux系統(tǒng)下CUDA和cuDNN環(huán)境配置方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-06-06

最新評論

黔东| 大方县| 蓝田县| 武汉市| 留坝县| 宁武县| 抚宁县| 吴忠市| 通江县| 金川县| 龙口市| 七台河市| 垣曲县| 达孜县| 腾冲县| 汝阳县| 江源县| 临洮县| 湖口县| 鹤岗市| 南丹县| 抚顺县| 甘洛县| 神农架林区| 丰都县| 汉源县| 宁化县| 台北县| 遂溪县| 新宾| 福建省| 广汉市| 奉化市| 揭阳市| 军事| 武宁县| 天峨县| 汉阴县| 云梦县| 隆昌县| 阿坝|