婷婷综合国产,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
    成人一级片在线观看| 欧美岛国在线观看| 欧美一区二区三区免费视频| 久久久蜜桃精品| 亚洲资源中文字幕| 成人性生交大片免费| 亚洲女厕所小便bbb| 亚洲高清在线精品| 岛国精品在线播放| 92国产精品观看| 91女厕偷拍女厕偷拍高清| 成人妖精视频yjsp地址| 成人18视频日本| 色综合久久精品| 成人app软件下载大全免费| 亚洲精品在线网站| 精品人在线二区三区| 成人在线视频首页| 日本欧美肥老太交大片| 日韩天堂在线观看| 亚洲一二三区在线观看| 日韩欧美在线1卡| 国产片一区二区| 亚洲国产精品v| 亚洲电影你懂得| 免费视频一区二区| 国产毛片精品视频| av在线这里只有精品| 欧美性感一类影片在线播放| 成人精品国产免费网站| 99久久免费精品高清特色大片| 欧美一区二区三区啪啪| 色婷婷精品久久二区二区蜜臀av| 欧美国产禁国产网站cc| 91亚洲精品一区二区乱码| 国产麻豆精品theporn| 国产一区二区剧情av在线| 欧美一区二区精美| 日韩亚洲欧美在线| 久久精品亚洲麻豆av一区二区| aaa欧美大片| 亚洲资源在线观看| 亚洲国产sm捆绑调教视频| 日韩福利视频导航| 555www色欧美视频| 顶级嫩模精品视频在线看| 日韩视频免费观看高清在线视频| 国产自产v一区二区三区c| 国产欧美一区二区三区在线看蜜臀 | 91精品国产高清一区二区三区| 中文字幕一区二区三区乱码在线| 国产精品成人免费精品自在线观看| 国产福利一区二区三区视频在线| 欧美日韩高清不卡| 国产精品色眯眯| 在线观看日韩精品| 日本韩国精品一区二区在线观看| 欧美专区在线观看一区| 成人精品视频一区| 国产成人午夜99999| 欧美日本韩国一区二区三区视频| 肉丝袜脚交视频一区二区| 在线成人av影院| gogo大胆日本视频一区| 色偷偷久久人人79超碰人人澡| 2023国产一二三区日本精品2022| 久久先锋影音av鲁色资源| 91女人视频在线观看| 成人免费一区二区三区视频 | 国产精品三级在线观看| 欧美日韩在线播放三区四区| av激情成人网| 日韩三级视频在线看| 中日韩av电影| 欧美精品丝袜久久久中文字幕| 午夜精品一区二区三区免费视频 | 亚洲一二三区在线观看| 国产精品女同一区二区三区| 91精品国产91久久综合桃花| 香港成人在线视频| 亚洲精品在线电影| 欧美麻豆精品久久久久久| 毛片基地黄久久久久久天堂| 欧美理论片在线| 国产一区二区三区精品欧美日韩一区二区三区| 在线观看日韩毛片| 国产福利精品一区| 国产视频在线观看一区二区三区| 日韩一区二区三区在线视频| 奇米色777欧美一区二区| 欧美一区日韩一区| 国产精品影音先锋| 亚洲v日本v欧美v久久精品| 久久精品国产亚洲aⅴ| 日韩美女久久久| 91丝袜美腿高跟国产极品老师| 麻豆精品在线视频| 日韩一区二区三区av| 色美美综合视频| 欧美不卡一区二区三区| 国产成人午夜精品5599| 亚洲已满18点击进入久久| av不卡在线观看| 色播五月激情综合网| 日韩欧美www| 欧美性做爰猛烈叫床潮| 色欧美乱欧美15图片| 国产成人免费av在线| 亚洲一区二区成人在线观看| 亚洲综合一区二区| 成人美女视频在线看| 91网站最新网址| 韩国女主播一区二区三区| 午夜欧美在线一二页| 最新久久zyz资源站| 911精品产国品一二三产区| 日韩精品综合一本久道在线视频| 亚洲伦理在线精品| 亚洲国产wwwccc36天堂| 国产精品久久久久四虎| 欧美高清在线视频| 美国精品在线观看| 日本道色综合久久| 国产午夜亚洲精品不卡| 精品一二三四在线| 精品写真视频在线观看| 91麻豆自制传媒国产之光| a级高清视频欧美日韩| 欧美丰满少妇xxxxx高潮对白| 秋霞午夜鲁丝一区二区老狼| 欧美日韩国产美| 国产精品国产a| 国产传媒欧美日韩成人| 久久毛片高清国产| 亚洲啪啪综合av一区二区三区| 在线欧美日韩精品| 日韩**一区毛片| 91精品国产综合久久久久久久| 国产日韩欧美激情| av福利精品导航| 精品国产精品一区二区夜夜嗨| 久久精品国产免费| 国产精品日产欧美久久久久| 91久久精品一区二区| 日韩av网站在线观看| 国产一区二区三区在线观看免费视频 | 国产精品影视天天线| 国产精品一区二区三区网站| 中文字幕国产一区| 中文字幕在线播放不卡一区| 狠狠久久亚洲欧美| aaa国产一区| ...xxx性欧美| 国产精品久久综合| 日韩欧美在线1卡| 精品国产一区二区三区忘忧草 | 91精品视频网| 欧美性色欧美a在线播放| 喷水一区二区三区| 久久精品一区二区三区不卡| 亚洲一区精品在线| 欧美国产精品一区二区| 国产精品美女久久久久久久 | 欧美午夜电影在线播放| 国产成人精品www牛牛影视| **欧美大码日韩| 精品国产乱码久久久久久浪潮| 国产精品久久久99| 久久免费午夜影院| 秋霞电影网一区二区| 91国产丝袜在线播放| 色综合av在线| 黄色精品一二区| 6080国产精品一区二区| 666欧美在线视频| 久久你懂得1024| 色屁屁一区二区| 日韩一级片在线播放| 欧美激情在线一区二区| 亚洲综合色视频| 看电视剧不卡顿的网站| 中文字幕av在线一区二区三区| 亚洲蜜臀av乱码久久精品| 日本久久电影网| 2023国产精品| 一区二区三区视频在线观看| 久久色视频免费观看| 夜夜嗨av一区二区三区| 久久av资源网| 亚洲午夜在线电影| 国产麻豆精品视频| 欧美写真视频网站| 不卡欧美aaaaa| 日韩欧美一二三区| 色综合久久久久综合99| 国产亚洲va综合人人澡精品| 视频一区国产视频| 一区二区三区在线视频观看58| 国产福利不卡视频| 5566中文字幕一区二区电影|