(3)awk命令列結構和語法結構

2022-06-12 17:09:16 字數 1552 閱讀 7918

awk [ -- ] program-text file ...        (1

)awk -f program-file [ -- ] file ... (2

)awk -e program-text [ -- ] file ... (3)

其中

program-text即awk命令列中awk**部分,一般使用單引號包圍。

-f program-file表示awk**部分寫在檔案中,然後使用-f選項去引用這個檔案。

-e program-text也表示使用awk**塊,所有語法1和語法3基本是等價的,但是如果使用-f,又要在**行中寫awk**,則必須使用-f和-e,即awk -f file -e '

awk-code

',而不能是awk -f file

'awk-code

'。

awk語法結構即awk**部分的結構。

awk的語法充斥著pattern的模式,它們稱為awk rule。

關於awk的語法:

多個pattern可以直接連線連用

action中多個語句如果寫在同一行,則需使用分號分隔

pattern部分用於篩選行,action表示在篩選通過後執行的操作

pattern和action都可以省略

省略pattern,等價於對每一行資料都執行action

例如:awk''

a.txt

省略**塊,等價於即輸出所有行

例如:awk

'/alice/

' a.txt等價於awk '

/alice/

'a.txt

省略**塊中的action,表示對篩選的行什麼都不做

例如:awk

'/alice/{}

'a.txt

pattern任何一部分都可以省略

例如:awk

'' a.txt

對於pattern語句結構(都稱之為語句塊),其中的pattern部分可以使用下面列出的模式:

# 特殊pattern

begin

end# 布林**塊

/regular expression/ # 正則匹配成功與否 /a.*ef/

relational expression # 即等值比較、大小比較

3>2

pattern && pattern # 邏輯與 3>2 && 3>1

pattern || pattern # 邏輯或 3>2 || 3

<1

! pattern # 邏輯取反 !/a.*ef/

(pattern) # 改變優先順序

pattern ?pattern : pattern # 三目運算子決定的布林值

# 範圍pattern,非布林**塊

pattern1, pattern2 # 範圍,pat1開啟、pat2關閉,即flip,flop模式

Queue語法結構和常用方法

queue語法結構和常用方法 queue maxsize maxsize 指定佇列的長度,即佇列中訊息的最大數量 初始化queue物件時,若括號中沒有指定最大可接收的訊息數量,或數量為負值,那麼就代表可接受的訊息數量沒有上限 直到記憶體的盡頭 queue的常用方法 1.qsize 返回當前佇列包含的...

python命令列引數結構

使用sys.argv可以獲取命令列引數。usr bin python coding utf 8 filename test3.py import sys print sys.argv 試試執行命令列 可以得到乙個列表 解釋命令列引數,將列表轉換為dict key value usr bin pyth...

Shader的基本用法和語法結構

shader的基本用法和語法結構 本文提供全流程,中文翻譯。chinar堅持將簡單的生活方式,帶給世人!擁有更好的閱讀體驗 高解析度使用者請根據需求調整網頁縮放比例 2 shader 著色器 其根基涉及到的就是 計算機圖形學。而計算機圖形學,不專門搞這方面的人,都對其了解很少。因為裡邊涉及到大量數學...