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

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

新聞中心

這里有您想知道的互聯(lián)網營銷解決方案
詳解awk命令使用實例

awk命令是一種編程語言,用于在linux/unix下對文本和數據進行處理而且它支持用戶自定義函數和動態(tài)正則表達式等先進功能,是linux/unix下的一個強大編程工具,下面為大家詳細講解一下awk命令使用實例。

為張家港等地區(qū)用戶提供了全套網頁設計制作服務,及張家港網站建設行業(yè)解決方案。主營業(yè)務為網站設計、成都網站設計、張家港網站設計,以傳統(tǒng)方式定制建設網站,并提供域名空間備案等一條龍服務,秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務。我們深信只要達到每一位用戶的要求,就會得到認可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!

Awk模式

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

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

[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

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

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

關系表達式模式

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

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

使用~“包含”比較運算符。例如,顯示第二個字段中包含“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

使用!=“不等于”操作符, 使用>=“大于等于”操作符,顯示第四個字段大于等于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”在內的記錄,:

[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)計的數據。例如,下面將顯示“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.

內置變量

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

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

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

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

當前標題:詳解awk命令使用實例
文章出自:http://www.5511xx.com/article/djoogdd.html