awk精華 新編

2021-07-26 17:24:00 字數 1563 閱讀 1707

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 正規表...

心裡博弈精華

要說服乙個人遵從自己的意見,可以採取以眾敵寡,逐漸同化的方法,乙個唇焦舌乾地苦苦相勸,可能並不能達到說服的效果,而讓多個人輪流去全服,就會給對方造成壓力,使其被同化。對於乙個談判者來說,掌握時機與條件是談判過程中重要的技術環節。時間即將結束前,就是乙個扭轉局面的最佳時機,這個時機需要把握,也可以創造...