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

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

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

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

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指定行分隔符 默認(rèn)分隔符為\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 當(dāng)前行數(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í)行中的相關(guān)問題:

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

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

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

下面以示例程序來進(jìn)行說明,首先準(zhǔn)備兩個(gè)輸入文件class1和class2,記錄了兩個(gè)班級的成績信息,內(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)在要查看兩個(gè)班級的所有成績信息,并在每條信息前加上行號,則可以使用下面的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來實(shí)現(xiàn)的,awk每讀取一條記錄,NR的值便加一。如果要求每個(gè)班級的行號從頭開始變化,則需要使用FNR來實(shí)現(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

相關(guān)文章

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

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

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

    Linux讓程序在后臺運(yùn)行的四種方法

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

    Linux下如何搭建兩個(gè)tomcat服務(wù)

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

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

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

    Linux中dd命令使用實(shí)例教程

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

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

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

    基于Apache的支持.NET2.0的Web服務(wù)器搭建

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

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

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

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

    在接口對接的時(shí)候,很多公司需要對方提供公網(wǎng)ip地址來配置對應(yīng)的IP白名單,那么在Linux環(huán)境下怎么查看對應(yīng)服務(wù)器的公網(wǎng)IP呢,所以本文給大家介紹了在Linux服務(wù)器下查看公網(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)境配置方式,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-06-06

最新評論

松滋市| 长治市| 鸡西市| 金溪县| 漠河县| 化州市| 呼玛县| 安岳县| 如皋市| 湛江市| 绩溪县| 定日县| 灯塔市| 竹溪县| 九江县| 浦北县| 西城区| 金山区| 宣恩县| 大新县| 苗栗市| 藁城市| 含山县| 夏邑县| 泸溪县| 梁平县| 临桂县| 修文县| 浦北县| 鞍山市| 庄河市| 陇川县| 九龙县| 呈贡县| 大埔县| 柳州市| 大洼县| 阿坝县| 林西县| 油尖旺区| 二连浩特市|