亚洲va男人天堂_亚洲国产美女搞黄色_国产又粗又爽视频_久久成人18免费网站_99久久久国产精品无码网爆_日韩av电影手机在线_另类图片第一页_在线观看亚洲网站_欧美一级黄色大片_gogogo高清在线观看免费完整版

 
 

您當(dāng)前的位置: 首頁 > 網(wǎng)絡(luò)技術(shù)  > 服務(wù)器教程 瀏覽
Linux下的AWK入門教程
發(fā)布時間:2015-12-13    點擊率:次    來源:m.memoryoverflow.cn    作者:電腦技術(shù)學(xué)習(xí)網(wǎng)

   簡介

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

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

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

  使用方法

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

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

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

  調(diào)用awk

  有三種方式調(diào)用awk

  1.命令行方式

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

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

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

  2.shell腳本方式

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

  相當(dāng)于shell腳本首行的:#!/bin/sh

  可以換成:#!/bin/awk

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

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

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

  入門實例

  假設(shè)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的示例,每行都會執(zhí)行action{print $1}。

  -F指定域分隔符為:。

  如果只是顯示/etc/passwd的賬戶和賬戶對應(yīng)的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的賬戶和賬戶對應(yīng)的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

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

  搜索/etc/passwd有root關(guān)鍵字的所有行

  代碼如下:

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

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

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

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

  搜索/etc/passwd有root關(guān)鍵字的所有行,并顯示對應(yīng)的shell

  代碼如下:

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

  /bin/bash

  這里指定了action{print $7}

  awk內(nèi)置變量

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

  ARGC 命令行參數(shù)個數(shù)

  ARGV 命令行參數(shù)排列

  ENVIRON 支持隊列中系統(tǒng)環(huán)境變量的使用

  FILENAME awk瀏覽的文件名

  FNR 瀏覽文件的記錄數(shù)

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

  NF 瀏覽記錄的域的個數(shù)

  NR 已讀的記錄數(shù)

  OFS 輸出域分隔符

  ORS 輸出記錄分隔符

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

  統(tǒng)計/etc/passwd:文件名,每行的行號,每行的列數(shù),對應(yīng)的完整行內(nèi)容:

  代碼如下:

  #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兩種打印輸出的函數(shù)。

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

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

  awk 日常常用學(xué)習(xí)筆記:

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

  代碼如下:

  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

  #統(tǒng)計各個科目的數(shù)量

  代碼如下:

  # cat test.txt

  xqq 語文 數(shù)學(xué)

  xq 英語 語文

  x 數(shù)學(xué) 美術(shù)

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

  # 獲取系統(tǒng)ip

  代碼如下:

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

來源 電腦技術(shù)網(wǎng) m.memoryoverflow.cn
發(fā)表留言
發(fā)表留言請先登錄!
免責(zé)聲明:本站發(fā)布的信息和評論純屬網(wǎng)民個人行為,并不代表本站立場,如發(fā)現(xiàn)有違法信息或侵權(quán)行為,請直接與本站管理員聯(lián)系,我們將在收到您的信息后24小時內(nèi)作出處理!
亚洲视频在线免费看| 黄色高清无遮挡| 中文字幕国产亚洲| 欧美日韩国产中字| gogo大胆日本视频一区| 欧美1级片网站| 久久久成人av毛片免费观看| 亚洲欧洲闷骚av少妇影院| 亚洲精品一区中文字幕电影| 亚洲黄网在线观看| 国产日本欧美一区二区三区在线| 欧美va亚洲va国产综合| 亚洲日本va午夜在线影院| 蜜臀av性久久久久蜜臀av麻豆| 蜜桃tv一区二区三区| av成人动漫| 一二三四日本中文字幕| 黄色片视频免费| 久久婷婷五月综合| www.99r| 9999在线观看| 精品国产一区二区三区久久久久久| 久久久久久999| 欧美日韩人人澡狠狠躁视频| 91免费在线视频观看| 日本亚洲三级在线| 欧美粗暴jizz性欧美20| 小说区图片区色综合区| 四虎国产精品免费久久5151| 在线网址91| 国产porn视频| 理论片中文字幕| 丁香社区五月天| 劲爆欧美第一页| x88av在线| 中文字幕乱码一区| 五月天激情播播| 欧美 日韩 国产一区| 亚洲免费av网| 视频一区免费观看| 精品视频一区二区| 99久久精品久久久久久ai换脸| 51久久精品夜色国产麻豆| 久久综合伊人77777蜜臀| 国产亚洲精品美女| 亚洲成人999| 日韩一区二区三区精品视频| 91国偷自产一区二区三区成为亚洲经典 | 日韩亚洲国产免费| 日本在线影院| 橘梨纱av一区二区三区在线观看| av网站免费播放| 国产精品久久久久久人| 久久久久久久黄色| 亚洲av鲁丝一区二区三区| brazzers精品成人一区| av天堂一区二区| 亚洲啊啊啊啊啊| 在线精品日韩| 美国av在线播放| 亚洲制服中文| 宅男av一区二区三区| 亚洲精品中文字幕乱码三区不卡| 国产精品av在线播放| 久久久久久久久久久成人| 久久网福利资源网站| 久久精品2019中文字幕| www日韩中文字幕在线看| 日韩网站免费观看| 免费不卡在线观看av| 精品一区二区久久| 精品一区二区三区在线观看国产| 精品一区二区av| 国产在线一区观看| 欧美日韩亚洲一区三区| 在线国产一区| 亚洲区国产区| 另类调教123区| 国产一区二区0| 99re亚洲国产精品| 久久国产日韩欧美精品| 精品一区二区在线看| 成人一区二区三区视频 | 欧美寡妇偷汉性猛交| 精品女同一区二区| 亚洲精品福利资源站| 精品一区二区三区四区| www.日韩av.com| 97在线观看视频| 国产欧美在线观看| 免费亚洲一区二区| 国偷自产av一区二区三区小尤奈| 国产精品一区免费观看| 色噜噜一区二区| 国产精品一色哟哟| www.日本一区| 一级黄色香蕉视频| 少妇搡bbbb搡bbb搡打电话| 在线不卡av电影| 18精品爽视频在线观看| 亚洲天堂狠狠干| 新天堂中文资源官网在线观看| 精品一区二区三区免费爱| 天天摸天天干天天操| 一本大道久久精品| 2019天天干夜夜操| 黄瓜视频18免费观看| 男人天堂v视频| 欧美激情午夜| 男女啪啪999亚洲精品| 亚洲男人都懂第一日本| 另类图片第一页| 91久久久精品国产| 毛片不卡一区二区| 国产精品热久久久久夜色精品三区 | 人人妻人人爽人人澡人人精品 | 91精品国自产在线| 91九色丨porny丨肉丝| 午夜精品三级久久久有码| 国产日韩在线观看一区| 国产成人三级在线播放| 国产精品视频入口| 91黄色在线看| 视频一区视频二区国产精品| 日本国产一区二区三区| 欧美日韩亚洲一区二区三区在线观看| 黄色一级片在线看| 亚洲av成人片色在线观看高潮 | 美女脱光衣服与内衣内裤一区二区三区四区 | jizz欧美| 欧美a级成人淫片免费看| 卡一卡二国产精品| 亚洲免费av高清| 亚洲福利在线播放| 国产精品第七影院| 国产av第一区| 国产91在线免费| 麻豆精品免费视频| 国产又大又长又粗| 久在线观看福利视频| 国产男女爽爽爽| 青青青国内视频在线观看软件| 日韩一区二区三区色| 国产日韩亚洲| 捆绑紧缚一区二区三区视频| 亚洲欧美区自拍先锋| 亚洲精品白浆高清久久久久久| 欧美专区福利在线| 一二三四中文字幕| 香蕉视频久久久| 亚洲人精品午夜射精日韩| 亚洲国产综合av| 国产女主播喷水视频在线观看| free性欧美69巨大| 成人午夜在线影视| 欧美日韩久久精品| 成人网在线播放| 精品1区2区3区| 91成人精品网站| 波多野结衣 作品| 日韩欧美黄色网址| www.中文字幕.com| av中文字幕在线| 欧美重口另类| 成人ar影院免费观看视频| 在线播放一区二区三区| 国产精品白嫩初高中害羞小美女 | 国产精品一区二区三区四区五区| 国产视频在线视频| 伊人中文字幕在线观看| jizzjizzjizz中国| 粉嫩一区二区三区| 亚洲一区观看| 亚洲高清三级视频| 欧美黑人又粗大| 男人添女荫道口女人有什么感觉| 久久精品一区二区三区四区五区| 久热中文字幕在线精品免费 | blackedav金发美女大战黑人| 国产精品一区二区日韩| 伊人蜜桃色噜噜激情综合| 亚洲激情av在线| 91精品免费在线观看| 国产999在线观看| 青青在线视频免费| 亚洲一区二区三区高清视频| 天天草夜夜草| 国产丝袜一区| 国产亚洲欧美日韩在线一区| 中文字幕国产精品| 日本黄网站色大片免费观看| 国产一级特黄aaa大片| 18岁以下禁止观看的美女视频 | 国产精品久久久久婷婷二区次| 上原亚衣av一区二区三区| 亚洲一区不卡在线| 中国一级片在线观看| 视频在线你懂的| 黄色日韩网站| 不卡的av网站| 伊人久久五月天| 肥熟一91porny丨九色丨| 中文字幕av一区二区三区人妻少妇 | 国产99re| 国产91久久精品一区二区| 日本一区二区三区视频视频| 最近中文字幕日韩精品| 日韩中文字幕在线免费| 一区二区不卡在线| 日韩乱码人妻无码中文字幕| 毛片视频免费观看| 国产精品最新| 亚洲一区二区三区中文字幕 | 色在线免费观看| 九九**精品视频免费播放| 亚洲精品久久久久国产| 青草全福视在线| 在线观看视频中文字幕| 国产在线观看a| 日韩av不卡一区二区| 亚洲第一黄色网| 日韩欧美视频第二区| 男女啊啊啊视频| 国产在线一二三| 亚洲性视频在线| 国产婷婷色一区二区三区四区| 久久国内精品一国内精品| 午夜肉伦伦影院| 少妇av在线播放| 久久精品女人天堂av免费观看| 成人av一区二区三区| 久久影视电视剧免费网站| 中文字幕22页| 欧美色图欧美色图| 天堂va欧美ⅴa亚洲va一国产| 亚洲视频一二三| 91夜夜揉人人捏人人添红杏| 粉嫩精品久久99综合一区| 国产xxxxx| 欧美日韩国产综合网| 91精品国产综合久久蜜臀| 天天综合中文字幕| www.狠狠干| 亚洲综合在线电影| 18欧美亚洲精品| 91一区二区三区| 国产小视频在线观看免费| 高清在线观看av| 亚洲一区 二区 三区| 91麻豆精品国产91久久久使用方法 | 亚洲第一精品夜夜躁人人爽| 久久久亚洲国产精品| 亚洲电影先锋| 日韩精品中文字幕吗一区二区| 亚洲电影在线播放| 日本在线观看一区二区| 国产又粗又大又爽| 嫩草在线播放| 亚洲精品97| 精品国产欧美一区二区| 91免费视频网站在线观看| 欧美最猛黑人xxxxwww| 秋霞在线一区| 欧美人狂配大交3d怪物一区 | 99精品免费观看| 青青热久免费精品视频在线18| 中国av一区二区三区| 精品欧美一区二区三区| 国产精品 日韩| 波多野结衣mp4| 成人免费网站观看| 国产精品毛片久久久久久久| 国产专区一区二区| ,一级淫片a看免费| 激情五月综合婷婷| 色综合久久久久久久| 日本xxx免费| 欧美一级淫片a免费视频| 久久久久观看| 欧美成人aa大片| 国产九九九视频| 最新中文字幕在线视频| 国产精品12区| 中文字幕亚洲第一| 最新av免费在线观看| 国产免费视频| 另类小说视频一区二区| 国产精品视频99| 无码人妻丰满熟妇区五十路| 日本在线中文字幕一区二区三区| 欧美日韩美女在线| 欧美丰满熟妇bbbbbb百度| 黄色免费观看| 日本中文字幕一区| 91精品久久久久久久久| 91tv国产成人福利| 久久精品论坛| 亚洲精品久久久久久久久久久久久 | 国产精品久久久久久久久久东京| 久久精品视频久久| 我爱我色成人网| 欧美性感一类影片在线播放| jizz欧美性11| 久草在线在线| 久久久久久日产精品| 日韩精品久久久免费观看 | 一区二区在线免费播放| 欧美一级艳片视频免费观看| 国产精品熟女一区二区不卡| 四虎精品在永久在线观看| 国产午夜精品久久久久久免费视| 欧美中日韩一区二区三区| 成人黄色免费网| sm在线播放| 国产欧美久久久精品影院| 欧美日韩另类综合| 国产精品乱码一区二区三区视频| 国产欧美丝祙| 成人免费高清完整版在线观看| 国产黄a三级三级看三级| 日本一区二区高清不卡| 欧美肥婆姓交大片| 天天天天天天天干| 亚洲成aⅴ人片久久青草影院| 日韩中文字幕在线免费观看| 日韩精品――中文字幕| 成人另类视频| 日韩视频一区在线| 午夜婷婷在线观看| 欧美18免费视频| 不卡中文字幕av| 最近中文字幕在线视频| 日韩国产综合| 亚洲精品资源美女情侣酒店| 国产在线综合视频| 国产成人免费9x9x人网站视频| 欧美一区二区网站| 538精品视频| 激情综合五月| 精品国产一区二区三区久久久 | 8x8x最新地址| 亚洲男人都懂的网站| 玉足女爽爽91| 69久久精品无码一区二区 | av直播在线观看| 日韩av官网| 欧美一区二区三区的| 国产成人无码精品久久二区三| 妞干网免费在线视频| 精品国产精品一区二区夜夜嗨| 日本黄色片免费观看| 第四色中文综合网| 久久久免费高清电视剧观看| va视频在线观看| 亚洲影院在线| 看高清中日韩色视频| 麻豆传媒mv| 亚洲欧美日韩国产成人精品影院| 最新av免费在线观看| 1区2区在线| 亚洲欧美国产制服动漫| 亚洲婷婷综合网| 欧美在线不卡| 国产区二精品视| 激情五月色综合亚洲小说| 国产精品久久久久久亚洲毛片 | 亚洲激情图片| 久草电影在线| 日韩欧美在线看| 特级西西人体高清大胆| 福利欧美精品在线| 日本精品性网站在线观看| 国产一区二区三区美女秒播| 91在线国产福利| 亚洲免费一级视频| 96av在线| 日韩在线国产精品| 99精品久久久久久中文字幕 | 日韩在线中文字幕| www.久久精品.com| 国产一区二区在线看| 欧美精品久久久久久久自慰| 国产在线观看高清视频| 91精品欧美福利在线观看| 国产精彩视频在线| 欧美成人中文| 日韩av一区二区三区美女毛片| 最新地址在线观看| 91精品国产福利| 欧美一区二区三区不卡视频| 国产欧美91| 9色视频在线观看| 快射视频在线观看| 亚洲欧美日韩在线高清直播| 午夜精品小视频| 成人精品视频一区| 在线观看网站黄| 国产精品玖玖玖在线资源| 亚洲一区二区免费| 欧美**室bdsm视频|