AWK 初級(jí)篇

概述

AWK 是一種解釋執(zhí)行的編程語(yǔ)言。
它非常的強(qiáng)大浩销,被設(shè)計(jì)用來專門處理文本數(shù)據(jù)盆偿。
AWK 的名稱是由它們?cè)O(shè)計(jì)者的名字縮寫而來 —— Afred Aho, Peter Weinberger 與 Brian Kernighan汉矿。

部分 AWK 的典型應(yīng)用場(chǎng)景

AWK 可以做非常多的工作拜隧。 下面只是其中的一小部分:

  • 文本處理

  • 生成格式化的文本報(bào)告

  • 進(jìn)行算術(shù)運(yùn)算

  • 字符串操作呻此,以及其它更多

安裝

默認(rèn)Linux系統(tǒng)中是安裝 AWK 的轮纫。
使用 which 命令可以判斷你當(dāng)前的系統(tǒng)上是否安裝了 AWK。

如果沒有安裝趾诗,可以使用 yum 包管理工具安裝:

yum install gawk

which 命令確認(rèn) AWK 已成安裝成功:

which awk

如果得到如下的結(jié)果蜡感,則說明你已經(jīng)成功安裝 awk:

/bin/awk

實(shí)戰(zhàn)

帶著問題來學(xué)習(xí),本次解決解決下這些問題恃泪。

  • 打印出文件的內(nèi)容郑兴。

  • 打印出第一列,打印出最后一列贝乎。

  • 打印出第一行情连,打印出最后一行。

  • 打印出指定行的指定列览效。

  • 以任意順序輸出列却舀。

  • 正則表達(dá)式 匹配行開始。

  • 正則表達(dá)式 匹配行結(jié)束锤灿。

測(cè)試文本 score.txt

Aaron    Physics    87
Abel     Maths      98
Rahul    Chinese    90
Buck     Biology    87
Byron    English    85
Dave     History    89
Enoch    Chemistry  89

//打印出文件的內(nèi)容挽拔。
[root@vagrant-centos65 awk]# awk '{print $0}' score.txt
Aaron    Physics    87
Abel     Maths      98
Rahul    Chinese    90
Buck     Biology    87
Byron    English    85
Dave     History    89
Enoch    Chemistry  89

//打印出第一列。
[root@vagrant-centos65 awk]# awk '{print $1}' score.txt
Aaron
Abel
Rahul
Buck
Byron
Dave
Enoch

//打印出最后一列但校。
[root@vagrant-centos65 awk]# awk '{print $NF}' score.txt
87
98
90
87
85
89
89
//打印出第一行螃诅。
[root@vagrant-centos65 awk]# awk 'NR==1{print $0}' score.txt
Aaron    Physics    87
//打印出最后一行。
[root@vagrant-centos65 awk]# awk 'END{print}' score.txt
Enoch    Chemistry  89
//打印出指定行的指定列状囱。比如 第四行第二列
[root@vagrant-centos65 awk]# awk 'NR==4{print $2}' score.txt
Biology
//通過匹配模式串輸出列术裸。
[root@vagrant-centos65 awk]# awk '/b/{print $0}' score.txt
Abel     Maths      98
//以任意順序輸出列。
[root@vagrant-centos65 awk]# awk '{print $2 "\t" $1}' score.txt
Physics Aaron
Maths Abel
Chinese Rahul
Biology Buck
English Byron
History Dave
Chemistry Enoch
//行開頭匹配亭枷。
[root@vagrant-centos65 awk]# awk '/^A/' score.txt
Aaron    Physics    87
Abel     Maths      98

[root@vagrant-centos65 awk]# awk '/^B/' score.txt
Buck     Biology    87
Byron    English    85
//行結(jié)束匹配袭艺。
[root@vagrant-centos65 awk]# awk '/89$/' score.txt
Dave     History    89
Enoch    Chemistry  89

Thanks ~

擴(kuò)展:AWK 中級(jí)篇

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末叨粘,一起剝皮案震驚了整個(gè)濱河市猾编,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌升敲,老刑警劉巖袍镀,帶你破解...
    沈念sama閱讀 222,000評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異冻晤,居然都是意外死亡苇羡,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,745評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門鼻弧,熙熙樓的掌柜王于貴愁眉苦臉地迎上來设江,“玉大人锦茁,你說我怎么就攤上這事〔娲妫” “怎么了码俩?”我有些...
    開封第一講書人閱讀 168,561評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)歼捏。 經(jīng)常有香客問我稿存,道長(zhǎng),這世上最難降的妖魔是什么瞳秽? 我笑而不...
    開封第一講書人閱讀 59,782評(píng)論 1 298
  • 正文 為了忘掉前任瓣履,我火速辦了婚禮,結(jié)果婚禮上练俐,老公的妹妹穿的比我還像新娘袖迎。我一直安慰自己,他們只是感情好腺晾,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,798評(píng)論 6 397
  • 文/花漫 我一把揭開白布燕锥。 她就那樣靜靜地躺著,像睡著了一般悯蝉。 火紅的嫁衣襯著肌膚如雪归形。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,394評(píng)論 1 310
  • 那天鼻由,我揣著相機(jī)與錄音连霉,去河邊找鬼。 笑死嗡靡,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的窟感。 我是一名探鬼主播讨彼,決...
    沈念sama閱讀 40,952評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼柿祈!你這毒婦竟也來了哈误?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,852評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤躏嚎,失蹤者是張志新(化名)和其女友劉穎蜜自,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體卢佣,經(jīng)...
    沈念sama閱讀 46,409評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡重荠,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,483評(píng)論 3 341
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了虚茶。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片戈鲁。...
    茶點(diǎn)故事閱讀 40,615評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡仇参,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出婆殿,到底是詐尸還是另有隱情诈乒,我是刑警寧澤,帶...
    沈念sama閱讀 36,303評(píng)論 5 350
  • 正文 年R本政府宣布婆芦,位于F島的核電站怕磨,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏消约。R本人自食惡果不足惜肠鲫,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,979評(píng)論 3 334
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望荆陆。 院中可真熱鬧滩届,春花似錦、人聲如沸被啼。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,470評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)浓体。三九已至泡挺,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間命浴,已是汗流浹背娄猫。 一陣腳步聲響...
    開封第一講書人閱讀 33,571評(píng)論 1 272
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留生闲,地道東北人媳溺。 一個(gè)月前我還...
    沈念sama閱讀 49,041評(píng)論 3 377
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像碍讯,于是被迫代替她去往敵國(guó)和親悬蔽。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,630評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容

  • 轉(zhuǎn)載 原文的排版和內(nèi)容都更加友好,并且詳細(xì),我只是在這里貼出了一部分留作自己以后參考和學(xué)習(xí),如希望更詳細(xì)了解AWK...
    XKirk閱讀 3,222評(píng)論 2 25
  • linux資料總章2.1 1.0寫的不好抱歉 但是2.0已經(jīng)改了很多 但是錯(cuò)誤還是無法避免 以后資料會(huì)慢慢更新 大...
    數(shù)據(jù)革命閱讀 12,175評(píng)論 2 33
  • awk介紹awk變量printf命令:實(shí)現(xiàn)格式化輸出操作符awk patternawk actionawk數(shù)組aw...
    哈嘍別樣閱讀 1,571評(píng)論 0 4
  • 基礎(chǔ)命令 主要的命令和快捷鍵 Linux系統(tǒng)命令由三部分組成:cmd + [options]+[operation...
    485b1aca799e閱讀 1,103評(píng)論 0 0
  • “才認(rèn)識(shí)多久就敢說喜歡我,買菜么倍啥?禾乘!” 難道不是么? 我買西紅柿是因?yàn)槲乙鑫骷t柿炒雞蛋虽缕。 我買黃瓜是為了京醬肉絲...
    負(fù)屃閱讀 1,699評(píng)論 0 0