1 awk簡介
1.1什麼是awk nawk gawk
awk是一種用於處理資料和生成報告的unix程式語言。nawk是awk的新版本,gawk是基於linux的gnu版本。
1.2 awk介紹
最初編寫於2023年,2023年得以改進以支援更大的程式,還增加了可使用者自定義函式、動態正規表示式、同時處理多個輸入檔案等功能。
1.3 awk版本
awk的版本有很多,包括old awk、new awk、gnu awk(gawk)、posix awk等
2 awk格式
基本語法:awk [options] 『program』 filename …
awk [options] 『pattern 』 filename
選項模式操作
options
-f (field separator)
有三種方法:
1、使用空白符分隔字段(預設值);這種情況下,記錄的前導空白字元和結尾空白字元(空格和/或製表符)將被忽略。都視為乙個空白字元。
2、使用其他單個字元來分隔字段。例如:awk -f 「:」 或awk 『begin』
3、使用不止乙個字元作為字段分隔符,它將被作為乙個正規表示式來解釋。例如:fs=「[『 :\t]"
-v vars=value (自定義變數)
3 awk原理
工作遍歷模式:迭代,迴圈
1、切片(注意:預設將空格符和製表符都視為空格,而且多個連續的空格都視為乙個(自動刪除重複的空格)
2、賦予變數(將fs分隔後的字段都存入變數,整行存入$0)
3、遍歷(迴圈每乙個字段,以字段為單位,非每行)
4、逐行(讀取一行,將pattern和action都執行完成,讀取下一行)
4 awk輸出
4.1一般輸出print
4.2格式化輸出printf
4.3輸出到檔案
4.4輸出到管道
4.5關閉檔案和管道
5 awk輸入
5.1 awk程式的輸入
5.2輸入分隔
5.3多行記錄
5.4 getline函式
5.5命令列引數
6 awk變數
6.1內建變數
6.2自定義變數
7 awk模式
7.1 empty模式
7.2 begin and end模式
7.3正規表示式
7.4表示式
7.5復合模式
7.6範圍模式
8 awk操作
8.1空語句
8.2表示式
8.3輸入
8.4輸出
8.5流控制語句
9 awk控制
9.1條件語句
9.2迴圈
9.3程式控制
10 awk陣列
10.1關聯陣列
10.2二維和多維陣列
10.3陣列應用
11 awk 函式
11.1內建函式
11.2自定義函式
12 其他
13 附錄
13.1正規表示式
13.2表示式運算子
AWk的呼叫精華
awk 的呼叫方式 awk 提供了適應多種需要的不同解決方案,它們是 一 awk 命令列,你可以象使用普通unix 命令一樣使用awk,在命令列中你也可以使用awk 程式語言,雖然awk 支援多行的錄入,但是錄入長長的命令列並保證其正 確無誤卻是一件令人頭疼的事,因此,這種方法一般只用於解決簡單的問...
精華 Grep 用法
grep g globally search for a re regular expression and p print the results.1 引數 i 忽略大小寫 c 列印匹配的行數 l 從多個檔案中查詢包含匹配項 v 查詢不包含匹配項的行 n 列印包含匹配項的行和行標 2 re 正規表...
心裡博弈精華
要說服乙個人遵從自己的意見,可以採取以眾敵寡,逐漸同化的方法,乙個唇焦舌乾地苦苦相勸,可能並不能達到說服的效果,而讓多個人輪流去全服,就會給對方造成壓力,使其被同化。對於乙個談判者來說,掌握時機與條件是談判過程中重要的技術環節。時間即將結束前,就是乙個扭轉局面的最佳時機,這個時機需要把握,也可以創造...