日韩成人av网_四虎成人精品永久免费av_亚洲图片欧美在线_欧美高清性xxxxhd_一本色道久久综合亚洲aⅴ蜜桃 _欧美亚洲国产另类_国内久久婷婷综合_国产伦视频一区二区三区_一区二区三区日韩在线观看_狠狠操精品视频_亚洲视频在线观看一区_成人在线免费观看av

 
 

您當前的位置: 首頁 > 網絡技術  > 服務器教程 瀏覽
Linux下的AWK入門教程
發布時間:2015-12-13    點擊率:次    來源:www.0068468.cn    作者:電腦技術學習網

   簡介

  awk是一個強大的文本分析工具,相對于grep的查找,sed的編輯,awk在其對數據分析并生成報告時,顯得尤為強大。簡單來說awk就是把文件逐行的讀入,以空格為默認分隔符將每行切片,切開的部分再進行各種分析處理。

  awk有3個不同版本: awk、nawk和gawk,未作特別說明,一般指gawk,gawk 是 AWK 的 GNU 版本。

  awk其名稱得自于它的創始人 Alfred Aho 、Peter Weinberger 和 Brian Kernighan 姓氏的首個字母。實際上 AWK 的確擁有自己的語言: AWK 程序設計語言 , 三位創建者已將它正式定義為“樣式掃描和處理語言”。它允許您創建簡短的程序,這些程序讀取輸入文件、為數據排序、處理數據、對輸入執行計算以及生成報表,還有無數其他的功能。

  使用方法

  awk {pattern + action} {filenames}盡管操作可能會很復雜,但語法總是這樣,其中 pattern 表示 AWK 在數據中查找的內容,而 action 是在找到匹配內容時所執行的一系列命令?;ɡㄌ?{})不需要在程序中始終出現,但它們用于根據特定的模式對一系列指令進行分組。 pattern就是要表示的正則表達式,用斜杠括起來。

  awk語言的最基本功能是在文件或者字符串中基于指定規則瀏覽和抽取信息,awk抽取信息后,才能進行其他文本操作。完整的awk腳本通常用來格式化文本文件中的信息。

  通常,awk是以文件的一行為處理單位的。awk每接收文件的一行,然后執行相應的命令,來處理文本。

  調用awk

  有三種方式調用awk

  1.命令行方式

  awk [-F field-separator] commands input-file(s)

  其中,commands 是真正awk命令,[-F域分隔符]是可選的。 input-file(s) 是待處理的文件。

  在awk中,文件的每一行中,由域分隔符分開的每一項稱為一個域。通常,在不指名-F域分隔符的情況下,默認的域分隔符是空格。

  2.shell腳本方式

  將所有的awk命令插入一個文件,并使awk程序可執行,然后awk命令解釋器作為腳本的首行,一遍通過鍵入腳本名稱來調用。

  相當于shell腳本首行的:#!/bin/sh

  可以換成:#!/bin/awk

  3.將所有的awk命令插入一個單獨文件,然后調用:

  awk -f awk-script-file input-file(s)

  其中,-f選項加載awk-script-file中的awk腳本,input-file(s)跟上面的是一樣的。 本章重點介紹命令行方式。

  入門實例

  假設last -n 5的輸出如下

  代碼如下:

  [root@www ~]# last -n 5 <==僅取出前五行

  root pts/1 192.168.1.100 Tue Feb 10 11:21 still logged in

  root pts/1 192.168.1.100 Tue Feb 10 00:46 - 02:28 (01:41)

  root pts/1 192.168.1.100 Mon Feb 9 11:41 - 18:30 (06:48)

  dmtsai pts/1 192.168.1.100 Mon Feb 9 11:41 - 11:41 (00:00)

  root tty1 Fri Sep 5 14:09 - 14:10 (00:01)如果只是顯示最近登錄的5個帳號

< p>#last -n 5 | awk {print $1}rootrootrootdmtsairootawk

 

  工作流程是這樣的:讀入有n換行符分割的一條記錄,然后將記錄按指定的域分隔符劃分域,填充域,$0則表示所有域,$1表示第一個域,$n表示第n個域。默認域分隔符是"空白鍵" 或 "[tab]鍵",所以$1表示登錄用戶,$3表示登錄用戶ip,以此類推。

  如果只是顯示/etc/passwd的賬戶

  代碼如下:

  #cat /etc/passwd |awk -F : {print $1}

  root

  daemon

  bin

  sys

  這種是awk+action的示例,每行都會執行action{print $1}。

  -F指定域分隔符為:。

  如果只是顯示/etc/passwd的賬戶和賬戶對應的shell,而賬戶與shell之間以tab鍵分割

  代碼如下:

  #cat /etc/passwd |awk -F : {print $1"t"$7}

  root /bin/bash

  daemon /bin/sh

  bin /bin/sh

  sys /bin/sh

  如果只是顯示/etc/passwd的賬戶和賬戶對應的shell,而賬戶與shell之間以逗號分割,而且在所有行添加列名name,shell,在最后一行添加"blue,/bin/nosh"。

  代碼如下:

  cat /etc/passwd |awk -F : BEGIN {print "name,shell"} {print $1","$7} END {print "blue,/bin/nosh"}

  name,shell

  root,/bin/bash

  daemon,/bin/sh

  bin,/bin/sh

  sys,/bin/sh

  ....

  blue,/bin/noshawk

  工作流程是這樣的:先執行BEGING,然后讀取文件,讀入有/n換行符分割的一條記錄,然后將記錄按指定的域分隔符劃分域,填充域,$0則表示所有域,$1表示第一個域,$n表示第n個域,隨后開始執行模式所對應的動作action。接著開始讀入第二條記錄······直到所有的記錄都讀完,最后執行END操作。

  搜索/etc/passwd有root關鍵字的所有行

  代碼如下:

  #awk -F: /root/ /etc/passwd

  root:x:0:0:root:/root:/bin/bash

  這種是pattern的使用示例,匹配了pattern(這里是root)的行才會執行action(沒有指定action,默認輸出每行的內容)。

  搜索支持正則,例如找root開頭的: awk -F: /^root/ /etc/passwd

  搜索/etc/passwd有root關鍵字的所有行,并顯示對應的shell

  代碼如下:

  # awk -F: /root/{print $7} /etc/passwd

  /bin/bash

  這里指定了action{print $7}

  awk內置變量

  awk有許多內置變量用來設置環境信息,這些變量可以被改變,下面給出了最常用的一些變量。

  ARGC 命令行參數個數

  ARGV 命令行參數排列

  ENVIRON 支持隊列中系統環境變量的使用

  FILENAME awk瀏覽的文件名

  FNR 瀏覽文件的記錄數

  FS 設置輸入域分隔符,等價于命令行 -F選項

  NF 瀏覽記錄的域的個數

  NR 已讀的記錄數

  OFS 輸出域分隔符

  ORS 輸出記錄分隔符

  RS 控制記錄分隔符 此外,$0變量是指整條記錄。$1表示當前行的第一個域,$2表示當前行的第二個域,......以此類推。

  統計/etc/passwd:文件名,每行的行號,每行的列數,對應的完整行內容:

  代碼如下:

  #awk -F : {print "filename:" FILENAME ",linenumber:" NR ",columns:" NF ",linecontent:"$0} /etc/passwd

  filename:/etc/passwd,linenumber:1,columns:7,linecontent:root:x:0:0:root:/root:/bin/bash

  filename:/etc/passwd,linenumber:2,columns:7,linecontent:daemon:x:1:1:daemon:/usr/sbin:/bin/sh

  filename:/etc/passwd,linenumber:3,columns:7,linecontent:bin:x:2:2:bin:/bin:/bin/sh

  filename:/etc/passwd,linenumber:4,columns:7,linecontent:sys:x:3:3:sys:/dev:/bin/sh

  使用printf替代print,可以讓代碼更加簡潔,易讀

  代碼如下:

  awk -F : {printf("filename:%10s,linenumber:%s,columns:%s,linecontent:%sn",FILENAME,NR,NF,$0)} /etc/passwd

  print和printf

  awk中同時提供了print和printf兩種打印輸出的函數。

  其中print函數的參數可以是變量、數值或者字符串。字符串必須用雙引號引用,參數用逗號分隔。如果沒有逗號,參數就串聯在一起而無法區分。這里,逗號的作用與輸出文件的分隔符的作用是一樣的,只是后者是空格而已。

  printf函數,其用法和c語言中printf基本相似,可以格式化字符串,輸出復雜時,printf更加好用,代碼更易懂。

  awk 日常常用學習筆記:

  # 取出兩個文件中相同的部分

  代碼如下:

  awk NR==FNR{a[$0]=0;next}{if($0 in a){print $0}} file1 file2

  # 取出兩個文件中不同的部分

  代碼如下:

  awk NR==FNR{a[$0]=0;next}{if(!($0 in a)){print $0}} file1 file2

  # 計算nginx日志訪問排名前10位的ip

  代碼如下:

  awk {a[$1]++}END{for(i in a) print a[i],i} access.log | sort -rn | head -10

  #統計各個科目的數量

  代碼如下:

  # cat test.txt

  xqq 語文 數學

  xq 英語 語文

  x 數學 美術

  awk {for(i=2;i<=NF;i++) a[$i]++}END{for(i in a) print i,a[i]} test.txt

  # 獲取系統ip

  代碼如下:

  ifconfig eth0 | awk NR==2{print $2} | cut -d: -f2

來源 電腦技術網 www.0068468.cn
發表留言
發表留言請先登錄!
免責聲明:本站發布的信息和評論純屬網民個人行為,并不代表本站立場,如發現有違法信息或侵權行為,請直接與本站管理員聯系,我們將在收到您的信息后24小時內作出處理!
欧美成人精品一区二区| 91免费视频网址| 欧美激情第一页xxx| 亚洲性猛交xxxx乱大交| 亚洲va欧美va天堂v国产综合| 永久域名在线精品| 亚洲欧美国产高清va在线播放| 亚洲乱码国产乱码精品精| 日本特黄在线观看| 中文字幕一区日韩精品欧美| 亚洲a在线播放| 日本中文字幕免费观看| 国产欧美日本一区视频| 国产精品中文字幕在线| 日产欧产va高清| 欧美性受xxxx黑人xyx性爽| 精品视频在线观看一区| 成人免费视频app| 国产一区在线免费| 免费观看日批视频| 中文字幕免费国产精品| 美国黄色片视频| 日韩亚洲欧美综合| 一道本视频在线观看| 中文字幕二三区不卡| 国产精品免费一区二区| 国产aⅴ一区二区三区| 欧美精品尤物在线| 欧美丝袜自拍制服另类| 青青青视频在线免费观看| 欧美精品国产精品久久久| 蜜桃在线一区二区三区| 国产又粗又猛又爽又黄av| 日韩精品一区二区三区外面| 亚洲国产中文字幕在线观看| 26uuu国产电影一区二区| 国产性生活毛片| 欧美黑人国产人伦爽爽爽| 色窝窝无码一区二区三区成人网站| 日本黄大片在线观看| 亚洲白虎美女被爆操| 一区二区三区视频免费看| 18一19gay欧美视频网站| 天天干天天草天天射| 久久久久久久穴| 成人淫片在线看| 97久久久精品综合88久久| 日本国产在线视频| 国产精选久久久久久| 亚洲色成人www永久网站| 久久久福利视频| 欧美视频完全免费看| 青青草97国产精品免费观看无弹窗版| 一二三四国产精品| 青草视频在线观看视频| 亚洲最大成人免费视频| 亚洲国产欧美自拍| 国产精品毛片无遮挡高清| 99成人在线观看| 亚洲国产精品久久久久婷婷老年| 亚洲成人av一区| 91porny九色| 黄黄视频在线观看| 欧美videofree性高清杂交| 国产一级性生活| 欧美少妇一区| 色偷偷偷亚洲综合网另类| 亚洲伦在线观看| 国产精品免费成人| 最新69国产成人精品视频免费| 国产精品亚洲午夜一区二区三区| 国产麻豆电影在线观看| 亚洲偷欧美偷国内偷| 国产三级欧美三级日产三级99| www.av在线.com| 欧美色图一区二区| 亚洲一区二区福利视频| 中文字幕一区二区三区在线乱码| 51ⅴ精品国产91久久久久久| 精品国产一区二区三区av性色| 国精产品一区一区三区mba视频| 中文字幕一区二区三区人妻| 97在线视频精品| 中文字幕在线免费不卡| 黄色a级片在线观看| 国产综合动作在线观看| 亚洲一区二区高清| 国产v亚洲v天堂无码| 欧美色精品天天在线观看视频| 91一区二区在线观看| 给我看免费高清在线观看| 91夜夜未满十八勿入爽爽影院| 欧美三级日韩三级| 小泽玛利亚一区| 老牛影视免费一区二区| 这里只有精品99re| 日韩精品91亚洲二区在线观看| 好看的av在线| 亚洲AV无码片久久精品| 免费看涩涩视频| 秋霞毛片久久久久久久久| 欧美久久精品午夜青青大伊人| 亚洲线精品一区二区三区| 中文字幕乱码无码人妻系列蜜桃| 亚洲天堂第一区| 欧美成人精品1314www| 久久国产精品99精品国产 | 欧美xxxx精品| 欧洲美女和动交zoz0z| 久久久久亚洲精品| 亚洲国产成人高清精品| 熟妇人妻中文av无码| 亚洲v在线观看| 97色在线播放视频| 久久久精品国产免大香伊| av大片在线免费观看| 亚洲精品乱码久久久久久自慰| 一区二区在线观看av| 午夜av免费观看| 亚洲自拍偷拍图| 九色综合日本| 亚洲欧美资源在线| 中文字幕欧美人妻精品| 超级砰砰砰97免费观看最新一期 | 日本三级欧美三级| 久久久男人的天堂| 黄页免费在线观看视频| 国产成人精品视| 欧美日韩亚洲综合在线 欧美亚洲特黄一级 | 国产精品久久久久久久免费大片| 亚洲欧美日韩天堂| 欧美一级精品在线| 一本色道综合亚洲| 午夜影院久久久| 亚洲精品伦理在线| 高清视频一区二区| 中文在线免费看视频| 国产精品无码一区二区三区免费 | 国产一级久久久久毛片精品| 欧美连裤袜在线视频| 亚洲美女av网站| 亚洲一区二区四区蜜桃| 欧美日韩 一区二区三区| 99久久人妻无码精品系列| 亚洲免费av一区二区三区| 吴梦梦av在线| 99国产视频| 青青国产91久久久久久| 中文字幕成人在线视频| 久久av高潮av| 最近中文字幕免费mv| 亚洲91精品在线| 日韩精品一区二区三区视频在线观看 | 国产欧美日韩综合一区在线观看| 国产精品久久久久999| 26uuu国产精品视频| 欧美大片在线影院| 美乳少妇欧美精品| 欧美疯狂性受xxxxx另类| 中文字幕在线亚洲| 亚洲精品久久久久久下一站| 色94色欧美sute亚洲线路一久| 91色乱码一区二区三区| 亚洲午夜激情视频| 你懂的在线观看网站| 日韩美女免费视频| 在线观看国产欧美| 亚洲午夜私人影院| 一级欧美一级日韩| 亚洲精品乱码久久| 性色av蜜臀av浪潮av老女人| 成人黄色一区二区| 久久久水蜜桃| 欧美黄色性视频| 精品99999| 成人高清免费观看| 日本中文字幕一级片| 国产精品久久久久久亚洲调教| 这里只有视频精品| 亚洲国产欧美久久| 亚洲新声在线观看| 俺也去精品视频在线观看| 色综合久久久888| 色与欲影视天天看综合网| 欧美成人性色生活仑片| 在线视频日韩精品| 亚洲成人av片在线观看| 欧美性色xo影院| www.欧美亚洲| 国产婷婷在线视频| 老司机久久精品| 国产精品久久视频| 91久久精品网| 天堂中文网在线| 少妇被狂c下部羞羞漫画| 国产福利久久精品| 亚洲电影天堂av| 91麻豆高清视频| 国产一级性生活| 日韩人妻无码精品久久久不卡| www.欧美三级电影.com| 精品国产91久久久久久| 国产制服丝袜一区| 久草手机视频在线观看| 麻豆久久久9性大片| 欧美色图第一页| 三级精品在线观看| 无码少妇一区二区| 特级丰满少妇一级| 色婷婷激情视频| 欧美日韩激情四射| 裸模一区二区三区免费| 91在线高清免费观看| 久久综合九色综合网站| av不卡免费电影| 久久久久久久久久一区二区三区| www国产精品内射老熟女| 91在线直播亚洲| 日韩免费电影网站| 亚洲欧美另类在线| 国产精品18久久久久久久久| 久久女同性恋中文字幕| 国产精品久久久久桃色tv| 精品国产乱码久久久久久天美 | 水蜜桃久久夜色精品一区的特点| 日本高清视频www| 日本午夜小视频| 国产主播第一页| 国产免费美女视频| 综合 欧美 亚洲日本| 国产成人精品视频ⅴa片软件竹菊| 另类小说综合网| 国产精品免费观看高清| 97久久夜色精品国产九色| 欧美连裤袜在线视频| 色姑娘综合av| 国产91精品入口17c| yellow视频在线观看一区二区| 亚洲va久久久噜噜噜久久天堂| www.成人av.com| 中文字幕日韩高清| 亚洲成人中文字幕| 亚洲精品久久久久久久久久久久| 亚洲影视资源网| 亚洲综合色视频| 国产精品亚洲午夜一区二区三区| 欧美视频一区二区三区四区| 欧美精品久久久久久久免费观看 | 美女视频久久| 亚洲精品午夜国产va久久成人| 91久久精品午夜一区二区| 亚洲日本精品| 丰满肉嫩西川结衣av| 亚洲欧美在线第一页| 男人的天堂99| 国产伦精品一区二区三区免费 | 91视频青青草| 欧美性xxxxxxxxx| 亚洲日本一区二区三区在线不卡| 国产精品高清无码| 欧美α欧美αv大片| 男人透女人免费视频| 国产精品乡下勾搭老头1| 91av成人在线| 亚洲视频重口味| 懂色av一区二区三区| 日韩电影在线播放| 黄色福利在线观看| 日韩在线视频国产| 久久久午夜精品福利内容| 国产喷白浆一区二区三区| 91久久精品视频| 99久久精品国产亚洲| 日韩欧美在线影院| 国产精品涩涩涩视频网站| 国产 欧美在线| 日本成人激情视频| 91精品国产高清一区二区三蜜臀| 色偷偷一区二区三区| 奇米777四色影视在线看| 日本在线不卡一区| 欧美一区二区视频97| 日本妇女毛茸茸| 欧美日本高清视频在线观看| 国产黄色一级网站| 成人免费av网站| 成人精品久久一区二区三区| 国产精品乱子伦| 欧美精品自拍偷拍| 91精品国产91综合久久蜜臀| 免费在线看黄色片| 寂寞少妇一区二区三区| 国产成人在线一区二区| 国产精品日日夜夜| 欧美成人三级电影在线| 天天干天天综合| 久久精品一区八戒影视| 97人人模人人爽人人喊38tv| 亚洲熟女乱色一区二区三区久久久| 亚洲美女中文字幕| 插我舔内射18免费视频| 亚洲一区在线电影| 亚洲视频导航| 日本欧美一区二区三区| 欧美在线亚洲在线| 成年人免费看毛片| 亚洲成**性毛茸茸| 国产人妻精品久久久久野外| 中文字幕av一区二区三区高| 日韩av一区二区三区美女毛片| 久久激情久久| 欧美影院久久久| 国产一级片毛片| 国产视频欧美视频| 搡老熟女老女人一区二区| 亚洲成人综合网站| 福利视频一二区| aa级大片欧美| 欧美xxxx黑人又粗又长精品| 亚洲欧美色视频| 国产ts一区二区| 国产精品一区二区6| 亚洲免费伊人电影在线观看av| 日本黄色网址大全| 色美美综合视频| 99草草国产熟女视频在线| www亚洲一区| 日本一区二区三区四区在线观看| 日韩高清一级片| 国产精品久久久久7777婷婷| 天堂免费在线视频| 自拍亚洲一区欧美另类| 在线观看亚洲大片短视频| 欧美老女人第四色| 9久久婷婷国产综合精品性色 | 免费av在线一区二区| 在线观看av网页| 婷婷五月精品中文字幕| 国产wwwwxxxx| 国产精品黄色网| 五月婷婷六月丁香| 国产亚洲欧美日韩在线一区| 国产又黄又大又粗的视频| 狠狠久久亚洲欧美| 日韩欧美在线视频日韩欧美在线视频| 色香阁99久久精品久久久| 国产精品第一区| 成年丰满熟妇午夜免费视频 | 欧美性受黑人性爽| av在线天堂网| 青青草手机在线观看| 亚洲高清在线精品| 国产91在线免费| 国产精品久久久久久久岛一牛影视| 男人的天堂成人| 久久免费的精品国产v∧| 日韩激情久久| 国产jizzjizz一区二区| 久久精品国产美女| 日韩电影在线一区二区| 91在线免费视频| 亚洲欧美日韩动漫| 国产欧亚日韩视频| 丰满大乳国产精品| 国产精品第二页| 国产婷婷在线视频| 亲子乱一区二区三区电影| 91麻豆成人精品国产| 91av中文字幕| 国产视频www| 国产精品va在线| 亚洲精品18p| 国产精品视频免费观看www| www日本高清视频| 国产美女精品视频| 亚洲精品成人电影| 国产精品自拍偷拍视频| 国产成人无码www免费视频播放| 日本免费久久高清视频| 99精品国产99久久久久久97| 国产成人精品电影| www.成人免费视频| 国产精品自拍偷拍| 日韩av电影一区| 精品国产免费一区二区三区 | 免费黄色一级网站| 午夜精品久久久久| 日韩精品一区中文字幕| 亚洲a一区二区| 想看黄色一级片| 午夜精品福利一区二区蜜股av| 亚洲精品mv在线观看| 欧美一区二区三区久久久| 欧美一区日韩一区| 三上悠亚ssⅰn939无码播放| 精品国产乱码久久| 麻豆精品国产免费| 精品国产欧美一区二区三区成人| 男人的天堂一区| 久久久久国产精品免费| 亚洲va在线观看| 欧美在线不卡区| 香蕉视频911| 国产在线播放一区二区| 成人天堂资源www在线| 只有这里有精品| 中文字幕综合网| 日本免费色视频| 欧美老年两性高潮| 成人一级黄色大片|