系統(tǒng)之家 - 系統(tǒng)光盤(pán)下載網(wǎng)站!

當(dāng)前位置:系統(tǒng)之家 > 系統(tǒng)教程 > Linux使用文本處理工具awk

Linux如何使用文本處理工具awk(2)

時(shí)間:2015-01-14 18:22:52 作者:qipeng 來(lái)源:系統(tǒng)之家 1. 掃描二維碼隨時(shí)看資訊 2. 請(qǐng)使用手機(jī)瀏覽器訪問(wèn): https://m.xitongzhijia.net/xtjc/20150114/34882.html 手機(jī)查看 評(píng)論

  運(yùn)算符

  1.賦值運(yùn)算符

  = += -= *= /= %= ^= **=

  2.邏輯運(yùn)算符

  ||:邏輯或

  &&:邏輯與

  3.正則運(yùn)算符

  ~:匹配正則表達(dá)式

  ~。翰黄ヅ湔齽t表達(dá)式

  4.關(guān)系運(yùn)算符

  《 《= 》 》= != ==

  5.算術(shù)運(yùn)算符

  + - * / & ++ --

  6.其它運(yùn)算符

  $:字段引用

  空格:字符串連接符

 ?:C條件表達(dá)式

  in:數(shù)組中是否存在某鍵值

  字符操作

  1.字符串轉(zhuǎn)數(shù)字

  將變量通過(guò)”+”連接運(yùn)算。自動(dòng)強(qiáng)制將字符串轉(zhuǎn)為整型。非數(shù)字變成0,發(fā)現(xiàn)第一個(gè)非數(shù)字字符,后面自動(dòng)忽略

  2.數(shù)字轉(zhuǎn)字符串

  只需要將變量與””符號(hào)連接起來(lái)運(yùn)算即可

  3.字符串連接

  只需要將變量與””符號(hào)連接起來(lái)運(yùn)算即可

  數(shù)組操作

  在awk中數(shù)組叫做關(guān)聯(lián)數(shù)組,因?yàn)橄聵?biāo)既可以是數(shù)也可以是串。awk中的數(shù)組不必提前聲明,也不必聲明大小。數(shù)組元素用0或空串來(lái)初始化,這根據(jù)上下文而定。需要注意的是不同版本下面函數(shù)不一定相同。其相關(guān)的函數(shù)有l(wèi)ength、asort、delete、split。當(dāng)然也可以實(shí)現(xiàn)多維數(shù)組。

  流程控制語(yǔ)句

  1.條件判斷語(yǔ)句(if)

  if(表達(dá)式){語(yǔ)句1}else{語(yǔ)句2}

  if(表達(dá)式){語(yǔ)句1}else if(表達(dá)式){語(yǔ)句2}else{語(yǔ)句3}

  2.循環(huán)語(yǔ)句(while、for、do while)

  while(表達(dá)式){語(yǔ)句}

  for(變量 in 數(shù)組){語(yǔ)句}

  for(變量;條件;表達(dá)式){語(yǔ)句}

  do{語(yǔ)句}while(條件)

  3.關(guān)鍵字

  break:當(dāng)break語(yǔ)句用于while或for語(yǔ)句時(shí),導(dǎo)致退出程序循環(huán)。

  continue:當(dāng)continue語(yǔ)句用于while或for語(yǔ)句時(shí),使程序循環(huán)移動(dòng)到下一個(gè)迭代。

  next:能能夠?qū)е伦x入下一個(gè)輸入行,并返回到腳本的頂部。這可以避免對(duì)當(dāng)前輸入行執(zhí)行其他的操作過(guò)程。

  exit:語(yǔ)句使主輸入循環(huán)退出并將控制轉(zhuǎn)移到END,如果END存在的話。如果沒(méi)有定義END規(guī)則,或在END中應(yīng)用exit語(yǔ)句,則終止腳本的執(zhí)行。

  正則表達(dá)式

  +:包含一個(gè)或多個(gè)字符或擴(kuò)展正則表達(dá)式的具體值(在 +(加號(hào))前)在這個(gè)字符串中,則字符串匹配。命令行:awk ’/smith+ern/‘ testfile

 ?:包含零個(gè)或一個(gè)字符或擴(kuò)展正則表達(dá)式的具體值(在 ?(問(wèn)號(hào))之前)在字符串中,則字符串匹配。命令行:awk ’/smith?/‘ testfile

  |:以 |(垂直線)隔開(kāi)的字符串的任何一個(gè)在字符串中,則字符串匹配。命令行:awk ’/allen | alan /‘ testfile

 。ǎ涸谡齽t表達(dá)式中將字符串組合在一起。命令行:awk ’/a(ll)?/‘ testfile

  {m}:有m個(gè)模式的具體值位于字符串中,則字符串匹配。命令行:awk ’/l{2}/‘ testfile

  {m,}:至少m個(gè)模式的具體值在字符串中,則字符串匹配。命令行:awk ’/t{2,}/‘ testfile

  {m, n}:在m和n之間(包含的m和n)個(gè)模式的具體值在字符串中(其中m 《= n),則字符串匹配。命令行:awk ’/er{1, 2}/‘ testfile

  [String]:正則表達(dá)式與方括號(hào)內(nèi)String變量指定的任何字符匹配。命令行:awk ’/sm[a-h]/‘ testfile

 。踍 String]:在 [ ](方括號(hào))和在指定字符串開(kāi)頭的 ^ (插入記號(hào)) 指明正則表達(dá)式與方括號(hào)內(nèi)的任何字符不匹配。這樣,命令行:awk ’/sm[^a-h]/‘ testfile

  ~,!~:表示指定變量與正則表達(dá)式匹配或不匹配的條件語(yǔ)句。命令行:awk ’$1 ~ /n/‘ testfile

  ^:指定字段或記錄的開(kāi)頭。命令行:awk ’$2 ~ /^h/‘ testfile

  $:指定字段或記錄的末尾。命令行:awk ’$2 ~ /y$/‘ testfile

  。:表示除了在空白末尾的終端換行字符以外的任何一個(gè)字符。命令行:awk ’/a..e/‘ testfile

  \ :轉(zhuǎn)義字符。當(dāng)位于在擴(kuò)展正則表達(dá)式中具有特殊含義的任何字符之前時(shí),轉(zhuǎn)義字符除去該字符的任何特殊含義。例如,命令行:/a\/\//

標(biāo)簽 命令

發(fā)表評(píng)論

0

沒(méi)有更多評(píng)論了

評(píng)論就這些咯,讓大家也知道你的獨(dú)特見(jiàn)解

立即評(píng)論

以上留言?xún)H代表用戶(hù)個(gè)人觀點(diǎn),不代表系統(tǒng)之家立場(chǎng)

其他版本軟件

熱門(mén)教程

人氣教程排行

Linux系統(tǒng)推薦

掃碼關(guān)注
掃碼關(guān)注

掃碼關(guān)注 官方交流群 軟件收錄