国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統(tǒng) > CentOS > 正文

使用awk的比較操作符的方法

2020-06-21 12:40:15
字體:
供稿:網(wǎng)友

對于使用 awk 命令的用戶來說,處理一行文本中的數(shù)字或者字符串時,使用比較運算符來過濾文本和字符串是十分方便的。下面的部分我們介紹"awk"的比較運算符。

awk 中的比較運算符是什么?

awk 中的比較運算符用于比較字符串和或者數(shù)值,包括以下類型:

符號      作用

>           大于

<           小于

>=         大于等于

<=         小于等于

==         等于

!=          不等于

some_value ~ / pattern/ 如果 some_value 匹配模式 pattern,則返回 true

some_value !~ / pattern/ 如果 some_value 不匹配模式 pattern,則返回 true 現(xiàn)在我們通過例子來熟悉 awk 中各種不同的比較運算符。

例子一,我們有一個文件名為 food_list.txt 的文件,里面包括不同食物的購買列表。我想給食物數(shù)量小于或等于 30 的物品所在行的后面加上 (**)

File – food_list.txt

No Item_Name Quantity Price

1 Mangoes 45 $3.45

2 Apples 25 $2.45

3 Pineapples 5 $4.45

4 Tomatoes 25 $3.45

5 Onions 15 $1.45

6 Bananas 30 $3.45

Awk 中使用比較運算符的通用語法如下:

# 表達式 { 動作; }

為了實現(xiàn)剛才的目的,執(zhí)行下面的命令:

# awk '$3 <= 30 { printf "%s/t%s/n", $0,"**" ; } $3 > 30 { print $0 ;}' food_list.txt

No Item_Name` Quantity Price

1 Mangoes 45 $3.45

2 Apples 25 $2.45 **

3 Pineapples 5 $4.45 **

4 Tomatoes 25 $3.45 **

5 Onions 15 $1.45 **

6 Bananas 30 $3.45 **

在剛才的例子中,發(fā)生如下兩件重要的事情:

第一個“表達式 {動作;}”組合中, $3 <= 30 { printf “%s/t%s/n”, $0,”**” ; } 打印出數(shù)量小于等于30的行,并且在后面增加 (**) 。物品的數(shù)量是通過 $3 這個域變量獲得的。 第二個“表達式 {動作;}”組合中, $3 > 30 { print $0 ;} 原樣輸出數(shù)量小于等于 30 的行。

再舉一個例子:

# awk '$3 <= 20 { printf "%s/t%s/n", $0,"TRUE" ; } $3 > 20 { print $0 ;} ' food_list.txt

No Item_Name Quantity Price

1 Mangoes 45 $3.45

2 Apples 25 $2.45

3 Pineapples 5 $4.45 TRUE

4 Tomatoes 25 $3.45

5 Onions 15 $1.45 TRUE

6 Bananas 30 $3.45

在這個例子中,我們想通過在行的末尾增加 (TRUE) 來標(biāo)記數(shù)量小于等于20的行。

總結(jié)

這是一篇對 awk 中的比較運算符介紹性的指引,因此你需要嘗試其他選項,發(fā)現(xiàn)更多使用方法。


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 富平县| 手机| 大渡口区| 山丹县| 台州市| 桃源县| 翼城县| 台北县| 东乌珠穆沁旗| 安阳市| 罗山县| 改则县| 伊吾县| 井陉县| 城步| 棋牌| 巴塘县| 柯坪县| 信宜市| 九龙县| 通渭县| 沅江市| 临邑县| 涞水县| 乌拉特中旗| 广德县| 石棉县| 图木舒克市| 烟台市| 枞阳县| 岳阳县| 枣强县| 前郭尔| 沙洋县| 锡林郭勒盟| 玉林市| 平乐县| 南郑县| 涞源县| 临城县| 民丰县|