日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產(chǎn)品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
分享一下awk命令使用實例

awk命令和sed命令一樣,也是逐行掃描文件的,從第一行到最后一行,尋找匹配特定模板的行,并在這些行上運行“選擇”動作。如果一個模板沒有指定動作,這些匹配的行就被顯示在屏幕上。如果一個動作沒有模板,所有被動作指定的行都被處理。

創(chuàng)新互聯(lián)建站-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設、高性價比阜陽網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式阜陽網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設找我們,業(yè)務覆蓋阜陽地區(qū)。費用合理售后完善,10多年實體公司更值得信賴。

Awk模式

Awk支持不同類型的模式,包括正則表達式、關系表達式、范圍和特殊表達式模式。

在下面的例子中,將創(chuàng)建一個名為“ teams.txt”的文件,文件內(nèi)容如下:

[root@localhost ~]# cat teams.txt

Bucks Milwaukee    60 22 0.732
Raptors Toronto    58 24 0.707
76ers Philadelphia 51 31 0.622
Celtics Boston     49 33 0.598
Pacers Indiana     48 34 0.585

正則表達式模式

Awk的正則表達式模式用斜線(//)包含起來,例如:要顯示包含“0.5”的每條記錄,可以運行以下命令:

[root@localhost ~]# awk '/0.5/ {print $0}' teams.txt
Celtics Boston     49 33 0.598
Pacers Indiana     48 34 0.585

要顯示包含“0.5”的每條記錄的第一個和第二個字段:

[root@localhost ~]# awk '/0.5/ {print $1,$2}' teams.txt
Celtics Boston
Pacers Indiana

顯示一個或者多個數(shù)字開頭的記錄,并打印第一列:

[root@localhost ~]# awk '/^[0-9]/ {print $1}' teams.txt
76ers

關系表達式模式

關系表達式模式通常用于匹配特定字段或變量的內(nèi)容。 常用的關系運算符有:

~:包含
!~:不包含
>:大于
:小于
>=:大于等于
:小于等于
=:等于
!=:不等于

使用~“包含”比較運算符。例如,顯示第二個字段中包含“ia”字符的每條記錄:

[root@localhost ~]# awk '$2 ~ /ia/ {print $0}' teams.txt
76ers Philadelphia 51 31 0.622
Pacers Indiana     48 34 0.585

若要匹配不包含給定字符的記錄,可以使用!~不包含操作符。例如,顯示第二個字段中不包含“ia”字符的每條記錄:

[root@localhost ~]# awk '$2 !~ /ia/ {print $0}' teams.txt
Bucks Milwaukee    60 22 0.732
Raptors Toronto    58 24 0.707
Celtics Boston     49 33 0.598

使用!=“不等于”操作符,

awk命令使用實例awk命令使用實例

使用>=“大于等于”操作符,顯示第四個字段大于等于30的記錄:

[root@localhost ~]# awk '$4 >= 30 {print $0}' teams.txt
76ers Philadelphia 51 31 0.622
Celtics Boston     49 33 0.598
Pacers Indiana     48 34 0.585

范圍模式

范圍模式由逗號分隔的兩組字符組成,從與第一個字符串匹配的記錄開始,直到與第二個字符串的記錄匹配為止的所有記錄。

例如,顯示從“Raptors”到 “Celtics”在內(nèi)的記錄,:

[root@localhost ~]# awk '/Raptors/,/Celtics/ {print $0}' teams.txt
Raptors Toronto    58 24 0.707
76ers Philadelphia 51 31 0.622
Celtics Boston     49 33 0.598

范圍模式也可以使用關系表達式,例如,顯示第四個字段等于31到第四個字段等于34 的記錄:

[root@localhost ~]# awk '$4 == 31 , $4 == 34 {print $0}' teams.txt
76ers Philadelphia 51 31 0.622
Celtics Boston     49 33 0.598
Pacers Indiana     48 34 0.585

特殊表達式模式

Awk包括以下特殊模式。

BEGIN:在處理記錄之前執(zhí)行此操作。
END:用于在處理記錄之后執(zhí)行此操作。

BEGIN模式通常用于設置變量,END模式用于處理統(tǒng)計的數(shù)據(jù)。例如,下面將顯示“Start Processing.”,然后顯示第三個字段,最后顯示”End Processing.”:

[root@localhost ~]# awk 'BEGIN {print "Start Processing."};{print $3};END {print "End Processing."}' teams.txt
Start Processing.
60
58
51
49
48
End Processing.

內(nèi)置變量

Awk有許多內(nèi)置變量,允許控制程序的處理方式。下面是一些常見的內(nèi)置變量:

NF:記錄中的字段數(shù)
NR:當前記錄的編號
FILENAME:當前正在處理的輸入文件名稱
FS:字段分隔符
RS:記錄分隔符
OFS:輸出字段分隔符
ORS:輸出記錄分隔符

下面是一個顯示如何打印文件名和行數(shù)的示例:

[root@localhost ~]# awk 'END {print "File" , FILENAME , "contains" , NR , "lines."}' teams.txt
File teams.txt contains 5 lines.

標題名稱:分享一下awk命令使用實例
URL標題:http://www.5511xx.com/article/cosijij.html