第一次發布時間:2004年8月6日

--------------------------------------------------------------------------------

Table of Contents

1. aw " /> 歪歪爽蜜臀AV久久精品人人槡,国产免费怕怕免费视频观看,FREESEXVIDEO 性老少配

天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

awk簡介與學習筆記收集第1/3頁

Copyright © 2004 本文遵從GPL協議,歡迎轉載、修改、散布。

第一次發布時間:2004年8月6日


--------------------------------------------------------------------------------

Table of Contents

1. awk簡介
2. awk命令格式和選項
2.1. awk的語法有兩種形式
2.2. 命令選項
3. 模式和操作
3.1. 模式
3.2. 操作
4. awk的環境變量
5. awk運算符
6. 記錄和域
6.1. 記錄
6.2. 域
6.3. 域分隔符
7. gawk專用正則表達式元字符
8. POSIX字符集
9. 匹配操作符(~)
10. 比較表達式
11. 范圍模板
12. 一個驗證passwd文件有效性的例子
13. 幾個實例
14. awk編程
14.1. 變量
14.2. BEGIN模塊
14.3. END模塊
14.4. 重定向和管道
14.5. 條件語句
14.6. 循環
14.7. 數組
14.8. awk的內建函數
15. How-to
1. awk簡介
awk是一種編程語言,用于在linux/unix下對文本和數據進行處理。數據可以來自標準輸入、一個或多個文件,或其它命令的輸出。它支持用戶自定義函數和動態正則表達式等先進功能,是linux/unix下的一個強大編程工具。它在命令行中使用,但更多是作為腳本來使用。awk的處理文本和數據的方式是這樣的,它逐行掃描文件,從第一行到最后一行,尋找匹配的特定模式的行,并在這些行上進行你想要的操作。如果沒有指定處理動作,則把匹配的行顯示到標準輸出(屏幕),如果沒有指定模式,則所有被操作所指定的行都被處理。awk分別代表其作者姓氏的第一個字母。因為它的作者是三個人,分別是Alfred Aho、Brian Kernighan、Peter Weinberger。gawk是awk的GNU版本,它提供了Bell實驗室和GNU的一些擴展。下面介紹的awk是以GUN的gawk為例的,在linux系統中已把awk鏈接到gawk,所以下面全部以awk進行介紹。

2. awk命令格式和選項
2.1. awk的語法有兩種形式
awk [options] 'script' var=value file(s)

awk [options] -f scriptfile var=value file(s)

2.2. 命令選項
-F fs or --field-separator fs
指定輸入文件折分隔符,fs是一個字符串或者是一個正則表達式,如-F:。

-v var=value or --asign var=value
賦值一個用戶定義變量。

-f scripfile or --file scriptfile
從腳本文件中讀取awk命令。

-mf nnn and -mr nnn
對nnn值設置內在限制,-mf選項限制分配給nnn的最大塊數目;-mr選項限制記錄的最大數目。這兩個功能是Bell實驗室版awk的擴展功能,在標準awk中不適用。

-W compact or --compat, -W traditional or --traditional
在兼容模式下運行awk。所以gawk的行為和標準的awk完全一樣,所有的awk擴展都被忽略。

-W copyleft or --copyleft, -W copyright or --copyright
打印簡短的版權信息。

-W help or --help, -W usage or --usage
打印全部awk選項和每個選項的簡短說明。

-W lint or --lint
打印不能向傳統unix平臺移植的結構的警告。

-W lint-old or --lint-old
打印關于不能向傳統unix平臺移植的結構的警告。

-W posix
打開兼容模式。但有以下限制,不識別:/x、函數關鍵字、func、換碼序列以及當fs是一個空格時,將新行作為一個域分隔符;操作符**和**=不能代替^和^=;fflush無效。

-W re-interval or --re-inerval
允許間隔正則表達式的使用,參考(grep中的Posix字符類),如括號表達式[[:alpha:]]。

-W source program-text or --source program-text
使用program-text作為源代碼,可與-f命令混用。

-W version or --version
打印bug報告信息的版本。

3. 模式和操作
awk腳本是由模式和操作組成的:
pattern {action} 如$ awk '/root/' test,或$ awk '$3 < 100' test。

兩者是可選的,如果沒有模式,則action應用到全部記錄,如果沒有action,則輸出匹配全部記錄。默認情況下,每一個輸入行都是一條記錄,但用戶可通過RS變量指定不同的分隔符進行分隔。 

3.1. 模式
模式可以是以下任意一個:

/正則表達式/:使用通配符的擴展集。

關系表達式:可以用下面運算符表中的關系運算符進行操作,可以是字符串或數字的比較,如$2>%1選擇第二個字段比第一個字段長的行。

模式匹配表達式:用運算符~(匹配)和~!(不匹配)。

模式,模式:指定一個行的范圍。該語法不能包括BEGIN和END模式。

BEGIN:讓用戶指定在第一條輸入記錄被處理之前所發生的動作,通常可在這里設置全局變量。

END:讓用戶在最后一條輸入記錄被讀取之后發生的動作。

3.2. 操作
操作由一人或多個命令、函數、表達式組成,之間由換行符或分號隔開,并位于大括號內。主要有四部份:

變量或數組賦值

輸出命令

內置函數

控制流命令

4. awk的環境變量
Table 1. awk的環境變量

變量 描述 
$n 當前記錄的第n個字段,字段間由FS分隔。 
$0 完整的輸入記錄。 
ARGC 命令行參數的數目。 
ARGIND 命令行中當前文件的位置(從0開始算)。 
ARGV 包含命令行參數的數組。 
CONVFMT 數字轉換格式(默認值為%.6g) 
ENVIRON 環境變量關聯數組。 
ERRNO 最后一個系統錯誤的描述。 
FIELDWIDTHS 字段寬度列表(用空格鍵分隔)。 
FILENAME 當前文件名。 
FNR 同NR,但相對于當前文件。 
FS 字段分隔符(默認是任何空格)。 
IGNORECASE 如果為真,則進行忽略大小寫的匹配。 
NF 當前記錄中的字段數。 
NR 當前記錄數。 
OFMT 數字的輸出格式(默認值是%.6g)。 
OFS 輸出字段分隔符(默認值是一個空格)。 
ORS 輸出記錄分隔符(默認值是一個換行符)。 
RLENGTH 由match函數所匹配的字符串的長度。 
RS 記錄分隔符(默認是一個換行符)。 
RSTART 由match函數所匹配的字符串的第一個位置。 
SUBSEP 數組下標分隔符(默認值是/034)。 

php技術awk簡介與學習筆記收集第1/3頁,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 成年人视频在线观看免费 | 狠狠色丁香久久婷婷综合_中 | 日本日本熟妇中文在线视频 | 日本双渗透 | 熟女强奷系列中文字幕 | 免费女性裸身照无遮挡网站 | 九九九色成人网 | 奶头从情趣内衣下露了出来AV | 日本九九热在线观看官网 | 搡女人免费免费视频观看 | 俄罗斯19girl video9 | 国产午夜一区二区三区免费视频 | 办公室韩国电影免费完整版 | 欧美高清videosgratis高 | 亚洲欧美日韩国产另类电影 | 亚洲AV国产福利精品在现观看 | 国产AV天堂亚洲AV麻豆 | 日本边添边摸边做边爱边 | 国产在线观看www鲁啊鲁免费 | 中文无码不卡的岛国片国产片 | 另类专区hy777 | 一本久道视频无线视频 | 国产区在线不卡视频观看 | 狠狠色狠狠色综合日日91app | 日韩精品无码免费专区 | 暖暖 免费 日本 高清 在线1 | 伊人天天躁夜夜躁狠狠 | 娇小老少配xxxxx | 最近中文字幕完整版免费高清 | 乱码中字在线观看一二区 | 国产av在在免费线观看美女 | 伦理片秋霞免费影院 | www.欧美与曽交性video | 国产精品成人影院 | 午夜影院费试看黄 | 六度影院最新 | 亚洲视频免费在线观看 | 青柠在线观看视频在线高清完整 | 亚洲黄色网页 | 苍老师刺激的120分钟 | 亚洲国产成人爱AV在线播放丿 |