婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > Linux中的awk數(shù)組的基本使用方法

Linux中的awk數(shù)組的基本使用方法

熱門標簽:撫順地圖標注 新余高德地圖標注怎么修改 高德地圖標注好做嗎 如何分析地圖標注 外呼系統(tǒng)坐席費計入會計哪個科目 大連400電話如何申請 電銷機器人怎么接線路 電銷機器人價值 達亞電銷機器人官網(wǎng)

1.awk數(shù)組描述

在其他的編程語言中,數(shù)組的下標都是從0開始的,也就是說,如果想反向引用數(shù)組中 的第一個元素,則需要引用對應(yīng)的下標[0],在awk中數(shù)組也是通過引用下標的方法,但是在awk中數(shù)組的下標是從1開始的,在其他語言中,你可能會習(xí)慣于先“聲明”一個數(shù)組,在awk中,則不用這樣,直接為數(shù)組的元素賦值即可(其實如果自己給數(shù)組賦值,下標從1或者從0開始那就無所謂了?。?/p>

2.在聲明數(shù)組時,可能值很多,命令太長,降低命令可讀性,所以使用反斜杠“\”,來進 行換行,效果是完全一樣的,代碼如下所示:

[zkpk@master as]$ awk 'BEGIN{arr[1]="one";arr[2]="two";arr[3]="three"\

;arr[4]="four";print arr[3]}'
three
[zkpk@master as]$ awk 'BEGIN{arr[1]="one";arr[2]="two";arr[3]="three";arr[4]="four";print arr[3]}'
three

3.數(shù)組的元素設(shè)置為空,是允許的,當(dāng)數(shù)組中沒有某個元素而直接引用它的時候,它默認被賦值為空,所以判斷某個元素是否存在,不能采用數(shù)組元素值為空的方法,而應(yīng)該采用下面的方法:

[zkpk@master as]$ awk 'BEGIN{arr[1]="one";arr[2]="two";arr[3]="three";if(4 in arr){print "four in this arr"}}'
[zkpk@master as]$ awk 'BEGIN{arr[1]="one";arr[2]="two";arr[3]="three";if(3 in arr){print "three in this arr"}}'
three in this arr

也可以采用取反的方式(使用運算符!)

[zkpk@master as]$ awk 'BEGIN{arr[1]="one";arr[2]="two";arr[3]="three";if(!(4 in arr)){print "four not in this arr"}}'
four not in this arr

4.awk數(shù)組下標

在awk中數(shù)組的下標不僅可以是“數(shù)字”,還可以是“任意字符串”,其實,awk中的數(shù)組本來就是“關(guān)聯(lián)數(shù)組”,之所以先用數(shù)字作為下標舉例子是為了方便之前的習(xí)慣,能夠有個好的過渡,不過,以數(shù)字作為數(shù)組的下標在某些場景有一定的優(yōu)勢,但是本質(zhì)上也是“關(guān)聯(lián)數(shù)組”,awk默認會把“數(shù)字”下標轉(zhuǎn)換成“字符串”,所以它本質(zhì)上還是一個使用字符串作為下標的“關(guān)聯(lián)數(shù)組”

5.刪除數(shù)組元素

使用 delete 可以刪除數(shù)組中的元素,也可以使用 delete 刪除整個數(shù)組

[zkpk@master as]$ awk 'BEGIN{arr[1]="one";arr[2]="two";arr[3]="three";\

> delete arr[1];print arr[1]}'
____(空)
[zkpk@master as]$ awk 'BEGIN{arr[1]="one";arr[2]="two";arr[3]="three";\

print arr[1];print arr[3];delete arr;print arr[1]}'
one
three
____(空)

6.使用for循環(huán)遍歷數(shù)組

語法:for(變量 in 數(shù)組名){ 代碼語句 }

注:其中變量循環(huán)的是數(shù)組的下標

[zkpk@master as]$ awk 'BEGIN{arr[1]="one";arr[2]="two";arr[3]="three";arr[4]="four";\

> for ( i in arr){print arr[i]}}'
four
one
two
three
#無序的打印數(shù)組元素,進一步證明其是“關(guān)聯(lián)數(shù)組”
#有序的打印數(shù)組元素
[zkpk@master as]$ awk 'BEGIN{arr[1]="one";arr[2]="two";arr[3]="three";arr[4]="four";\

for ( i=1;i<=4;i++){print arr[i]}}'
one
two
three
four

7.awk數(shù)組使用實例

[zkpk@master as]$ awk 'BEGIN{a=1;print a; a=a+1 ; print a}'
1
2
[zkpk@master as]$ awk 'BEGIN{a=1;print a; a++ ; print a}'
1
2

將變量a設(shè)置為1,對其進行自加運算,則其數(shù)值會增加1,這不難理解,那么如果變量a是一個字符串哪?

[zkpk@master as]$ awk 'BEGIN{a="test";print a; a++ ; print a}'
test

當(dāng)a的值為字符串時,竟然也可以參與運算,而且可以看出,字符串被當(dāng)成數(shù)字0參與運算,那么空字符串參與運算時也會被當(dāng)成0運算嗎?

[zkpk@master as]$ awk 'BEGIN{a="";print a; a++ ; print a}'
____(空)

結(jié)果顯示,空字符串在參與運算時也會被當(dāng)做數(shù)字0,之前我們說過,當(dāng)我們引用數(shù)組中一個不存在的元素,元素被賦值成空字符串,當(dāng)對這個元素進行自加運算時,元素的值就變成了1,因此當(dāng)我們對一個不存在的元素進行自加運算后,這個元素的值就變成了自加的次數(shù),自加x次,元素的值就被賦值為x,自加y次元素的值就被賦值為y,所以我們可以通過awk數(shù)組的這個特性來統(tǒng)計文本中某字符串出現(xiàn)的次數(shù),代碼如下所示

[zkpk@master as]$ cat text
Alice
Bob
Tom
Peter
Alice
Alice
Tom
Bob
Peter
Bob
[zkpk@master as]$ awk '{count[$1]++};END{for(i in count){print i,count[i]}}' text
Bob 3
Tom 2
Alice 3
Peter 2

這回你該發(fā)現(xiàn)awk數(shù)組這個特性的強大所在了吧,好,也許你會說我不用awk照樣可以統(tǒng)計啊,代碼如下所示:

[zkpk@master as]$ cat text | sort | uniq -c
   3 Alice
   3 Bob
   2 Peter
   2 Tom

好吧,我承認你這個思路很棒,但是你看看下面例子哪?統(tǒng)計文本中人名出現(xiàn)的次數(shù)

[zkpk@master as]$ cat -tE text
Alice^IBob$
Bob^IAlice Alice   Peter$
Tom Bob$
Peter Alice $
Alice Tom$
Alice^I^ITom $
Tom Peter$
Bob Bob$
Peter Alice$
Bob Alice Alice  Tom$
#我們可以看出上面的文本中人名之間的分隔符有制表符,也有空格,來吧,統(tǒng)計人名出現(xiàn)的次數(shù)吧,
#我使用awk數(shù)組的方式可以這樣統(tǒng)計
[zkpk@master as]$ awk '{for(i=1;i<=NF;i++){count[$i]++} }END{for(j in count)\

{print j , count[j]}}' text
Bob 6
Tom 5
Alice 9
Peter 4

但若你不用awk,非得用其他命令實現(xiàn)可以參考如下代碼( ^_^ )

[zkpk@master as]$ cat text | tr -s "\t" " " | tr -s " " "\n" | sort | uniq -c
   9 Alice
   6 Bob
   4 Peter
   5 Tom

結(jié)尾

本文介紹了awk數(shù)組的基本使用方法,但是要學(xué)會靈活的運用,我在上面的示例中也寫出了一些可以在某種程度上替換awk數(shù)組的方式,所以本文不單單是介紹awk數(shù)組該如何使用,而是如何在合適的場景,選擇出最優(yōu)的解決方案,快速高效的解決問題。這就是我一直追求的,也是我學(xué)習(xí)Linux命令的真實意圖。

以上所述是小編給大家介紹的Linux中的awk數(shù)組的基本使用方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

標簽:新鄉(xiāng) 衡水 海東 南通 湖南 楊凌 黃石 遼源

巨人網(wǎng)絡(luò)通訊聲明:本文標題《Linux中的awk數(shù)組的基本使用方法》,本文關(guān)鍵詞  Linux,中的,awk,數(shù)組,的,基本,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Linux中的awk數(shù)組的基本使用方法》相關(guān)的同類信息!
  • 本頁收集關(guān)于Linux中的awk數(shù)組的基本使用方法的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    亚洲国产精品99久久久久久久久| 国内成+人亚洲+欧美+综合在线| 欧美一级久久久久久久大片| 欧美网站一区二区| 99精品在线观看视频| 欧美三级日韩三级| 中文字幕电影一区| 午夜日韩在线观看| 国产美女在线精品| 制服丝袜亚洲精品中文字幕| 欧美精品一区二区久久婷婷| 亚洲成人精品一区| 成人午夜在线播放| 日韩欧美国产三级电影视频| 一区二区三区欧美| 一本一本大道香蕉久在线精品 | 精品在线观看免费| 欧美性感一区二区三区| 久久精品一二三| 国产综合色视频| 制服丝袜亚洲色图| 亚洲高清在线视频| 欧美日韩亚洲综合一区二区三区 | 日韩美女在线视频| 国产露脸91国语对白| 日韩免费观看高清完整版| 国产制服丝袜一区| 久久美女高清视频| 国内精品伊人久久久久av一坑| 国内国产精品久久| 欧美一激情一区二区三区| 日韩电影在线免费| 日韩欧美激情一区| 国产成人aaa| 亚洲大片在线观看| 精品国产亚洲一区二区三区在线观看| 国精产品一区一区三区mba视频| 国产精品免费久久久久| 色菇凉天天综合网| 青青草国产精品亚洲专区无| 日韩一区二区三区在线观看| 香蕉影视欧美成人| 欧美揉bbbbb揉bbbbb| 亚洲人被黑人高潮完整版| 国产成人免费视| 欧美经典三级视频一区二区三区| 免费在线看一区| 国产欧美精品一区| 色综合天天综合网天天狠天天| 亚洲精品视频在线观看免费| 97精品久久久午夜一区二区三区 | 麻豆一区二区在线| 日本一区二区三区国色天香| 久久综合久久综合久久| 国产99久久久精品| 最新国产成人在线观看| 91精品国产一区二区三区香蕉| 国产91丝袜在线播放九色| 亚洲欧洲日产国码二区| 欧美男同性恋视频网站| 国产精品亚洲综合一区在线观看| 亚洲你懂的在线视频| 日韩亚洲欧美在线观看| 免费观看一级特黄欧美大片| 亚洲私人黄色宅男| 精品国产制服丝袜高跟| 99精品国产视频| 久久国产精品免费| 日本午夜精品一区二区三区电影| 成人福利视频网站| 成人污污视频在线观看| 精品一区二区三区视频| 午夜视频在线观看一区二区三区 | 欧美v国产在线一区二区三区| 97久久精品人人做人人爽| 久久99这里只有精品| 久久99在线观看| 精品一区二区日韩| 亚洲成人资源网| 亚洲午夜在线观看视频在线| 亚洲小说春色综合另类电影| 亚洲欧美在线视频观看| 亚洲视频每日更新| 亚洲欧美一区二区三区孕妇| 亚洲午夜国产一区99re久久| 欧美日韩不卡一区二区| 欧美精品丝袜中出| 韩国三级在线一区| 国产在线精品免费| 国产九九视频一区二区三区| 国产精品综合二区| 成人97人人超碰人人99| 色综合久久久网| 3d成人h动漫网站入口| 日韩一区二区在线看| 国产亚洲综合av| 亚洲高清不卡在线观看| 另类小说视频一区二区| 国产成人av资源| 制服丝袜国产精品| 国产精品传媒视频| 久久久国际精品| 亚洲图片欧美综合| 国产高清不卡一区二区| 色呦呦国产精品| 欧美一区2区视频在线观看| 久久久久久免费毛片精品| 夜夜精品视频一区二区 | 国产一区视频在线看| 99精品欧美一区二区三区综合在线| 亚洲一区二区在线观看视频| 成人性视频网站| 色综合色综合色综合色综合色综合 | 国产精品综合视频| 成人精品免费网站| 91福利视频久久久久| 欧美国产欧美综合| 成人看片黄a免费看在线| 欧美精品一区二区久久婷婷| 一区二区三区在线免费观看| 精品亚洲欧美一区| 欧美三级一区二区| 久久综合九色综合97婷婷| 天堂蜜桃一区二区三区| 91一区二区三区在线观看| 日本一区二区电影| 一区二区三区小说| 韩国毛片一区二区三区| 色一情一乱一乱一91av| 国产精品日韩成人| 国产美女主播视频一区| 午夜婷婷国产麻豆精品| 91在线观看污| 精品卡一卡二卡三卡四在线| 视频一区视频二区在线观看| 91女人视频在线观看| 国产精品久久久久久久裸模| 高清国产一区二区三区| 欧美男男青年gay1069videost| 国产精品伦理一区二区| 色哟哟国产精品| 国产精品自产自拍| 亚洲精品高清视频在线观看| 欧美精品色综合| 成人黄色777网| 亚洲成人777| ...中文天堂在线一区| 欧美亚洲综合一区| 久久成人18免费观看| 久久久不卡影院| 5566中文字幕一区二区电影| 欧美亚洲国产一区在线观看网站| 免费观看日韩av| 一区二区在线观看免费| 久久蜜桃av一区精品变态类天堂 | 欧美日韩一二三| 国产毛片精品国产一区二区三区| 中文字幕一区二区不卡| 26uuu亚洲综合色| 欧美一区二区三区四区高清| 欧美日韩国产a| 欧美日韩一区二区三区四区| 久久99国产乱子伦精品免费| 日韩国产一区二| 日韩高清中文字幕一区| 亚洲一二三专区| 一区二区在线观看免费视频播放 | 国产suv一区二区三区88区| 久久精品国产久精国产| 香蕉久久一区二区不卡无毒影院| 91精品国产品国语在线不卡| 日本电影欧美片| 成人av综合在线| 国产综合久久久久久久久久久久| 日本女人一区二区三区| 午夜日韩在线观看| 日韩影院精彩在线| 日韩国产欧美一区二区三区| 国产日韩欧美精品在线| 中文字幕在线观看一区| 一区二区三区在线观看国产| 岛国av在线一区| 91精品国产欧美一区二区成人| 中国色在线观看另类| 韩国成人福利片在线播放| 欧美aaaaa成人免费观看视频| 国内精品在线播放| 欧美一区二区三区爱爱| 麻豆成人免费电影| 日韩欧美卡一卡二| 蜜芽一区二区三区| 欧美性一级生活| 五月天激情综合| 91网站最新地址| 中文字幕一区av| 久草热8精品视频在线观看| 这里是久久伊人| 美国毛片一区二区| 国产色综合久久| 91成人免费网站|