日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

gawk的使用方法


第一章前言
第二章簡(jiǎn)介
第三章讀取輸入檔案
第四章印出
第五章Patterns
第六章算式(Expression)作為Actions的敘述
第七章Actions里面的控制敘述
第八章內(nèi)建函式(Built-in Functions)
第九章使用者定義的函式
第十章□例
第十一章結(jié)論



=======================================

第一章 前言
awk是一個(gè)程式語言 , 對(duì)於資料的處理具有很強(qiáng)的功能 。對(duì)於文 字檔里的資料做
修改、比對(duì)、抽取等的處理 , awk 能夠以很短的程式 輕易地完成 。如果使用 C
或 Pascal 等語言寫程式完成上述的動(dòng)作 , 會(huì)不方便且很花費(fèi)時(shí)間 , 所寫的程
式也會(huì)很大 。
awk 能夠依照使用者的定義格式來分解輸入資料 , 也可依照使用 者定義的格式
來印出資料 。awk 名稱的由來是由它的原始設(shè)計(jì)者的姓氏之第一個(gè)字母而命
名 :Alfred V. Aho, Peter J. Weinberger, Brian W. Kernighan 。
awk最初在1977年完成 。一個(gè)新版本的awk在1985年被發(fā)表 , 它的功能 比舊版本
增強(qiáng)不少 。gawk 是GNU所做的 awk , gawk 最初在1986年完成 , 之後不斷地 被
改進(jìn)、更新 。gawk 包含 awk 的所有功能 。往後的 gawk 將以下面的2個(gè)輸入檔
案來做例子說明 。
檔案"BBS-list":
aardvark 555-5553 1200/300 B
alpo-net 555-3412 2400/1200/300 A
barfly 555-7685 1200/300 A
bites 555-1675 2400/1200/300 A
camelot 555-0542 300 C
core 555-2912 1200/300 C
fooey 555-1234 2400/1200/300 B
foot 555-6699 1200/300 B
Macfoo 555-6480 1200/300 A
sdace 555-3430 2400/1200/300 A
sabafoo 555-2127 1200/300 C
檔案"shipped":
Jan 13 25 15 115
Feb 15 32 24 226
Mar 15 24 34 228
Apr 31 52 63 420
May 16 34 29 208 J
un 31 42 75 492
Jul 24 34 67 436
Aug 15 34 47 316
Sep 13 55 37 277
Oct 29 54 68 525
Nov 20 87 82 577
Dec 17 35 61 401
Jan 21 36 64 620
Feb 26 58 80 652
Mar 24 75 70 495
Apr 21 70 74 514



第二章 簡(jiǎn)介gawk 的主要功能是針對(duì)檔案的每一行(line)搜尋指定的 patterns
。當(dāng)一行里有符合指定的 patterns , gawk 就會(huì)在此一行執(zhí)行被指定
的 actions 。gawk 依此方式處理輸入檔案的每一行直到輸入檔案結(jié)
束 。gawk 程式是由很多的 pattern 與 action 所組成 , action 寫在
大括號(hào) { } 里面 , 一個(gè)pattern後面就跟著一個(gè)action 。整個(gè) gawk 程
式會(huì)像下面的樣子:pattern {action}
pattern {action}在 gawk 程式里面的規(guī)則 , pattern 或 action 能夠被省略 , 但
是兩個(gè)不能同時(shí)被省略 。如果 pattern 被省略 , 對(duì)於輸入檔里面的
每一行 , action 都會(huì)被執(zhí)行 。如果 action 被省略 , 內(nèi)定的 action
則會(huì)印出所有符合 pattern 的輸入行 。2.1 如何執(zhí)行g(shù)awk程式基本上 , 有2個(gè)方法可以執(zhí)行g(shù)awk程式 ?!跞绻?gawk 程式很短 , 則 gawk 可以直接寫在 command line , 如下所示:gawk "program" input-file1 input-file2 ...其中 program 包括一些 pattern 和 action 。□如果 gawk 程式較長 , 較為方便的做法是將 gawk 程式存在一個(gè)檔案 ,
即 patterns 與 actions 寫在檔名為 program-file 的檔案里面 , 執(zhí)行
gawk 的格式如下所示:gawk -f program-file input-file1 input-file2 ...gawk 程式的檔案不止一個(gè)時(shí) , 執(zhí)行g(shù)awk 的格式如下所示:gawk -f program-file1 -f program-file2 ... input-file1
input-file2 ...2.2 一個(gè)簡(jiǎn)單的例子現(xiàn)在我們舉一個(gè)簡(jiǎn)單的例子 , 因?yàn)?gawk 程式很短 , 所以將 gawk 程
式直接寫在 command line 。gawk "/foo/ {print $0}" BBS-list實(shí)際的 gawk 程式為 /foo/ {print $0} 。/foo/ 為 pattern , 意思為搜
尋輸入檔里的每一行是否含有子字串 "foo" , 如果含有 "foo" 則執(zhí)行 action 。
action 為 print $0 , 是將現(xiàn)在這一行的內(nèi)容印出 。BBS-list 是輸入的檔案 。執(zhí)行完上述指令後 , 會(huì)印出下面的結(jié)果:

推薦閱讀