axialisiconworkshop awk簡介與學習筆記收集第1/3頁
Copyright © 2004 本文遵從GPL協議,歡迎轉載、修改、散佈。
第一次發佈時間:2004年8月6日
-------------------------------- ------------------------------------------------
Table of Contents
1. awk簡介
2. awk指令格式與選項
2.1. awk的語法有兩種形式
2.2. 指令選項
3. 模式與操作
2.2. 指令選項
3. 模式與運算>3.1. 模式
3.2. 操作
4. awk的環境變數
5. awk運算子
6. 記錄與領域
6.1. 記錄
6. 記錄與領域
6.1. 記錄
6.2. 6.3. 域分隔符號
7. gawk專用正規表示式元字元
8. POSIX字元集
9. 匹配運算子(~)
10. 比較表達式
111. 範圍範本
12. 一個驗證passwd檔案效能的範例
13. 幾個實例
14. awk程式設計
14.1. 變數
14.2. BEGIN模組
14.3. 🎜>14.4. 重定向與管道
14.5. 條件語句
14.6. 循環
14.7. 數組
14.8. awk的內建函數
15. 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 兩者是可選的,如果沒有模式,則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 數組下標分隔符號(預設值是
以上就介紹了axialisiconworkshop awk簡介與學習筆記收集第1/3頁,包括了axialisiconworkshop方面的內容,希望對PHP教程有興趣的朋友有所幫助。

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

PHP中有四種主要錯誤類型:1.Notice:最輕微,不會中斷程序,如訪問未定義變量;2.Warning:比Notice嚴重,不會終止程序,如包含不存在文件;3.FatalError:最嚴重,會終止程序,如調用不存在函數;4.ParseError:語法錯誤,會阻止程序執行,如忘記添加結束標籤。

在PHP中,應使用password_hash和password_verify函數實現安全的密碼哈希處理,不應使用MD5或SHA1。1)password_hash生成包含鹽值的哈希,增強安全性。 2)password_verify驗證密碼,通過比較哈希值確保安全。 3)MD5和SHA1易受攻擊且缺乏鹽值,不適合現代密碼安全。

PHP和Python各有優勢,選擇依據項目需求。 1.PHP適合web開發,尤其快速開發和維護網站。 2.Python適用於數據科學、機器學習和人工智能,語法簡潔,適合初學者。

PHP在電子商務、內容管理系統和API開發中廣泛應用。 1)電子商務:用於購物車功能和支付處理。 2)內容管理系統:用於動態內容生成和用戶管理。 3)API開發:用於RESTfulAPI開發和API安全性。通過性能優化和最佳實踐,PHP應用的效率和可維護性得以提升。

HTTP請求方法包括GET、POST、PUT和DELETE,分別用於獲取、提交、更新和刪除資源。 1.GET方法用於獲取資源,適用於讀取操作。 2.POST方法用於提交數據,常用於創建新資源。 3.PUT方法用於更新資源,適用於完整更新。 4.DELETE方法用於刪除資源,適用於刪除操作。

PHP是一種廣泛應用於服務器端的腳本語言,特別適合web開發。 1.PHP可以嵌入HTML,處理HTTP請求和響應,支持多種數據庫。 2.PHP用於生成動態網頁內容,處理表單數據,訪問數據庫等,具有強大的社區支持和開源資源。 3.PHP是解釋型語言,執行過程包括詞法分析、語法分析、編譯和執行。 4.PHP可以與MySQL結合用於用戶註冊系統等高級應用。 5.調試PHP時,可使用error_reporting()和var_dump()等函數。 6.優化PHP代碼可通過緩存機制、優化數據庫查詢和使用內置函數。 7

PHP通過$\_FILES變量處理文件上傳,確保安全性的方法包括:1.檢查上傳錯誤,2.驗證文件類型和大小,3.防止文件覆蓋,4.移動文件到永久存儲位置。

在PHPOOP中,self::引用當前類,parent::引用父類,static::用於晚靜態綁定。 1.self::用於靜態方法和常量調用,但不支持晚靜態綁定。 2.parent::用於子類調用父類方法,無法訪問私有方法。 3.static::支持晚靜態綁定,適用於繼承和多態,但可能影響代碼可讀性。
