Regex-awk-用法詳解

來源:互聯網
上載者:User

Regex-awk-用法詳解
awk命令 awk是一種程式設計語言,用於在linux/unix下對文本和資料進行處理。資料可以來自標準輸入(stdin)、一個或多個檔案,或其它命令的輸出。它支援使用者自訂函數和動態Regex等先進功能,是linux/unix下的一個強大編程工具。它在命令列中使用,但更多是作為指令碼來使用。awk有很多內建的功能,比如數組、函數等,這是它和C語言的相同之處,靈活性是awk做大的優勢。 awk文法格式: 列印以冒號分隔的第1,2端 [root@test1 test]# awk -F ':' '{print $1,$2}' passwd |head -2 root x bin x # -F指定分隔字元(不加預設為空白格分隔) 使用自訂字元串連每個段 [root@test1 test]# awk -F ':' 'OFS="#" {print $1,$2,$3}' passwd |head -2 root*x*0 bin*x*1 [root@test1 test]# awk -F ':' '{print $1"*"$2"*"$3}' passwd |head -2 root*x*0 bin*x*1 匹配字元或字串 [root@test1 test]# awk '/root/' passwd root:x:0:0:root:/root:/bin/bash operator:x:11:0:operator:/root:/sbin/nologin 匹配字元或字串並輸出指定段 [root@test1 test]# awk -F ':' '/root/ {print $1,$5}' passwd root root operator operator 列印行號和列數 [root@test1 ~]# awk -F ':' '{print NR":"NF}' passwd  1:7 2:7 #awk內建變數 NF(段數)  NR(行數) 針對第一段列印匹配字元 [root@test1 ~]# awk -F ':' '$1~/oo/ {print $1}' passwd  root # ~ 模糊比對 == 精準匹配 列印匹配第一段匹配或者第三段匹配的整行內容,並且輸出行號 [root@test1 ~]# awk -F ':' '$1~/oo/ || $3>500 {print NR":"$0}' passwd  1:root:x:0:0:root:/root:/bin/bas/mysqlh 23:izabbix:x:501:501::/home/zabbix:/sbin/nologin28374 #$0表示輸出整行  || 或者  && 並且 > < >= <= != == [root@test1 ~]# awk -F ':' 'NR<3 && $1=="root" {print $0}' passwd  root:x:0:0:root:/root:/bin/bas/mysqlh 列印第7段的值為3+4並用#號串連 7[root@test1 ~]# awk -F ':' 'OFS="#",$7=$3+$4 {print $0}' passwd  root#x#0#0#root#/root#0 bin#x#1#1#bin#/bin#2 daemon#x#2#2#daemon#/sbin#4 列印第三列的累加值 [root@test1 ~]# awk -F ':' '{(sum=sum+$3)}; END {print sum}' passwd  2046 awk中使用if關鍵詞  [root@test1 ~]# awk -F ':' '{if ($1=="root") print $0}' passwd  root:x:0:0:root:/root:/bin/bas/mysqlh

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.