awk 使用手冊

2021-04-18 18:03:48 字數 1427 閱讀 8775

一.什麼是awk?

事實上,awk是三個人名的縮寫,他們是:aho、(peter)weinberg和(brain)kernighan。正是這三個人創造了awk---乙個優秀的樣式掃瞄與處理工具。

二.為什麼使用awk?

1.使用awk的第乙個理由是基於文字的樣式掃瞄和處理是我們經常做的工作,awk所做的工作有些象資料庫,但與資料庫不同的是,它處理的是文字檔案,這些檔案沒有專門的儲存格式,普通的人們就能編輯、閱讀、理解和處理它們。既然這種類似於資料庫的處理工作我們經常會遇到,我們就應當找到處理它們的簡便易行的方法,unix有很多這方面的工具,例如sed 、grep、sort以及find等等,awk是其中十分優秀的一種。

2.使用awk的第二個理由是awk是乙個簡單的工具,當然這是相對於其強大的功能來說的。的確,unix有許多優秀的工具,例如unix天然的開發工具c語言及其延續c++就非常的優秀。但相對於它們來說,awk完成同樣的功能要方便和簡捷得多。這首先是因為awk提供了適應多種需要的解決方案:從解決簡單問題的awk命令列到複雜而精巧的awk程式語言,這樣做的好處是,你可以不必用複雜的方法去解決本來很簡單的問題。例如,你可以用乙個命令列解決簡單的問題,而c不行,即使乙個再簡單的程式,c語言也必須經過編寫、編譯的全過程。其次,awk本身是解釋執行的,這就使得awk程式不必經過編譯的過程,同時,這也使得它與shell script程式能夠很好的契合。

3.使用awk的第三個理由是awk是乙個容易獲得的工具。與c和c++語言不同,awk只有乙個檔案(/bin/awk),而且幾乎每個版本的unix都提供各自版本的awk,你完全不必費心去想如何獲得awk。

基於以上理由,再加上awk強大的功能,我們有理由說,如果你要處理與文字樣式掃瞄相關的工作,awk應該是你的第一選擇。在這裡有乙個可遵循的一般原則:如果你用普通的shell工具或shell script有困難的話,試試awk,如果awk仍不能解決問題,則便用c語言,如果c語言仍然失敗,則移至c++。

三. awk的呼叫方式

awk提供了適應多種需要的不同解決方案,它們是:

1.awk命令列

你可以象使用普通unix命令一樣使用awk,在命令列中你也可以使用awk程式語言,雖然awk支援多行的錄入,但是錄入長長的命令列並保證其正確無誤卻是一件令人頭疼的事,因此,這種方法一般只用於解決簡單的問題。當然,你也可以在shell script程式中引用awk命令列甚至awk程式指令碼。

2.使用 -f 選項呼叫awk程式

awk允許將一段awk程式寫入乙個文字檔案,然後在awk命令列中用-f選項呼叫並執行這段程式。具體的方法我們將在後面的awk語法中講到。

3.利用命令直譯器呼叫awk程式

利用unix支援的命令直譯器功能,我們可以將一段awk程式寫入文字檔案,然後在它的第一行加上: #!/bin/awk -f 並賦予這個文字檔案以執行的許可權。這樣做之後,你就可以在命令列中用類似於下面這樣的方式呼叫並執行這段awk程式了。 $awk指令碼文字名 待處理檔案

CVS使用手冊

注意 第一次匯出以後,就不是通過cvs checkout來同步檔案了,而是要進入剛才cvs checkout project name匯出的project name目錄下進行具體檔案的版本同步 新增,修改,刪除 操作。cvs的許可權管理分2種策略 基於系統檔案許可權的系統使用者管理 適合多個在lin...

sed使用手冊

原貼 http blog.chinaunix.net u 23204 showart 305602.html sed使用手冊 原創 在sed語句,正規表示式必須封閉在 中間。如 d,刪除空行。sed位址 在sed位址管理中,預設是對全域性進行操作,同時位址可以分為行位址和模式位址。如1,10d 12...

vi 使用手冊

進入vi的命令 vi filename 開啟或新建檔案,並將游標置於第一行首 vi n filename 開啟檔案,並將游標置於第n行首 vi filename 開啟檔案,並將游標置於最後一行首 vi pattern filename 開啟檔案,並將游標置於第乙個與pattern匹配的串處 vi r...