国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > Linux Shell > 正文

awk正則表達式和內置函數的使用方法實例詳解

2020-07-27 19:11:59
字體:
來源:轉載
供稿:網友

awk正則表達式及內置函數實例詳解:

1、模糊匹配:

復制代碼 代碼如下:

awk ‘{if($3~/97/) print $0}' data.f:如果第三項中含有”97”則打印該行
awk ‘{if($4!~/ufcx/) print $0}' data.f:如果第三項中不含ufcx有則打印

2、精確匹配:

復制代碼 代碼如下:

awk ‘{if($5==66) print $0}' data.f:如果第五項是66則打印
awk ‘{if($5!=66)print $0}' data.f : 如果第五項不是66則打印
awk ‘{if($1>$5) print $0}' data.f:如果第一項大于第五項則打印

3、大小寫匹配:

復制代碼 代碼如下:

awk ‘{if(/[Ss]ept/) print $0}' data.f:符合,則打印一行。
awk ‘/[Ss]ept/ {print $2}' data.f:符合,則打印第二字段

4、任意匹配:

復制代碼 代碼如下:

awk ‘{if($2 ~/^.e/) print $0}' data.f:第二字段中,第二個字符為e,輸出
awk ‘{if($4 ~/(lps|fcx)/) print $0}' data.f:第四個字段含有lps或fcx則輸出

5、&&,||:

復制代碼 代碼如下:

awk ‘{if($3 ~/1993/ && $2==”sept”) print $0}' data.f:兩邊都真則輸出
awk ‘{if($3 ~/a9/ || $2==”sept”) print $0}' data.f:一邊為真則輸出

6、變量定義:

awk ‘{date=$2;price=$5; if(date ~/[Ss]ept/) print “price is ” price}' data.f:變量定義,滿足date是sept或者Sept的將price輸出。

7、修改數值(源文件數值不變)

復制代碼 代碼如下:

awk ‘{BASELINE=42; if($1>BASELINE) $5=$5+100; print $0}' data.f:三行程序,以“;”分割

如果修改的是文本域,就要添加“”””。例如:awk ‘{if($2==”may”) $2=”tt”; print $0}' data.f

上邊都是顯示所有數據,awk ‘{if($2==”may”) {$2=”tt”; print $0}}' data.f這個只顯示修改數據,仔細看看,其實語法和c一樣,只是最外邊添加了一個{}符號。

8、創建新域:(源文件數值不變)

復制代碼 代碼如下:

awk ‘{if($5>$1){$8=$5-$1;print $1,$8}}' data.f:

或者awk ‘{if($5>$1){diff=$5-$1;print $1,diff}}' data.f

9、數據統計:

awk ‘{(total+=$5)}END{print total}' data.f:“{(total+=$5)}”和“{print total}”代表兩個不同的代碼段,如果沒有END每次的累積結果都會輸出,END可以理解為代碼段落的標志,這樣只輸出最終結果即{print total}只執行一次。

10、統計文件大小:

復制代碼 代碼如下:

ls 主站蜘蛛池模板: 县级市| 始兴县| 漯河市| 贵溪市| 鹰潭市| 海阳市| 辽宁省| 开封县| 郯城县| 交城县| 南漳县| 成安县| 安溪县| 阜城县| 铜川市| 昌江| 长治市| 托里县| 门源| 射阳县| 色达县| 安阳市| 朝阳区| 芦溪县| 吐鲁番市| 上饶市| 泗水县| 景泰县| 千阳县| 庆安县| 玉山县| 周宁县| 瑞金市| 文安县| 东兰县| 安乡县| 尚义县| 泰宁县| 汝城县| 象州县| 卢氏县|