對於 使用 awk 命令的使用者來說,處理一行文字中的數字或者字串時,使用比較運算子來過濾文字和字串是十分方便的。
在 awk 系列的此部分中,我們將**一下如何使用比較運算子來過濾文字或者字串。如果你是程式設計師,那麼你應該已經熟悉了比較運算子;對於其它人,下面的部分將介紹比較運算子。
awk 中的比較運算子用於比較字串和或者數值,包括以下型別:
現在我們通過例子來熟悉 awk 中各種不同的比較運算子。
在這個例子中,我們有乙個檔名為 food_list.txt 的檔案,裡面包括不同食物的購買列表。我想給食物數量小於或等於 30 的物品所在行的後面加上(**)
file
–food_list
.txt
no
item_name
quantity
price
1
mangoes
45$3
.45
2
25$2
.45
35$4
.45
4
tomatoes
25$3
.45
5
onions
15$1
.45
6
bananas
30$3
.45
awk 中使用比較運算子的通用語法如下:
#
表示式
為了實現剛才的目的,執行下面的命令:
#
awk
'$3 <= 30 $3 > 30 '
food_list
.txt
no
item_name
` quantity price
1 mangoes 45 $3.45
4 tomatoes 25 $3.45 **
5 onions 15 $1.45 **
6 bananas 30 $3.45 **
在剛才的例子中,發生如下兩件重要的事情:
再舉乙個例子:
#
awk
'$3 <= 20 $3 > 20 '
food_list
.txt
no
item_name
quantity
price
1
mangoes
45$3
.45
2
25$2
.45
35$4
.45true
4
tomatoes
25$3
.45
5
onions
15$1.45
true
6
bananas
30$3
.45
在這個例子中,我們想通過在行的末尾增加 (true) 來標記數量小於等於20的行。
原文發布時間為:2016-07-22
awk 系列 如何使用 awk 內建變數
我們將逐漸揭開 awk 功能的神秘面紗,在本節中,我們將介紹 awk 內建built in變數的概念。你可以在 awk 中使用兩種型別的變數,它們是 使用者自定義user defined變數 我們在第八節中已經介紹了 和內建變數。awk 內建變數示例 awk 內建變數已經有預先定義的值了,但我們也可...
awk系列 如何使用awk語言編寫指令碼
從 awk 系列開始直到第 12 部分,我們都是在命令列或者指令碼檔案裡寫一些簡短的 awk 命令和程式。然而 awk 和 shell 一樣也是乙個解釋型語言。通過從開始到現在的一系列的學習,你現在能寫可以執行的 awk 指令碼了。和寫 shell 指令碼差不多,awk 指令碼以下面這一行開頭 pa...
awk系列 在awk中如何使用流程控制語句
當你回顧所有到目前為止我們已經覆蓋的 awk 例項,從 awk 系列的開始,你會注意到各種例項的所有指令是順序執行的,即乙個接乙個地執行。但在某些情況下,我們可能希望基於一些條件進行文字過濾操作,即流程控制語句允許的那些語句。在 awk 程式設計中有各種各樣的流程控制語句,其中包括 然而,對於本系列...