歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> awk 程序設計模型

awk 程序設計模型

日期:2017/3/1 9:28:43   编辑:Linux編程

理解awk提供給程序員的基本模型是很重要的。學習awk比學習其他程序設計語言更容易的部分原因,是由於awk為程序員提供了定義得當且有用的模型。

awk 程序是由所謂的主輸入(main input) 循環組成的。一個循環是一個例程,它將一直重復執行直到有一些存在的條件終止它。你不必寫這個循環,他是現成的,它作為一個框架存在,在這個框架中你編寫的代碼能夠執行。你所編寫的處理操作的代碼假設有一個可用的輸入行。在其他的程序設計語言中,你必須建立一個主輸入循環並將它作為程序的一個組成部分。它必須打開一個輸入文件並一次讀入一行。在其他的程序設計語言中,你必須建立一個主輸入循環並將它作為程序的一個組成部分。它必須打開一個輸入文件並一次讀入一行。它說明了基本的awk簡化操作可以使得編程更容易。

主輸入循環執行的次數和輸入的行數相同。就像在"Hello,World." 例子中所看到的,這種循環僅當有一個輸入時才執行。當沒有其他輸入行讀入是循環將終止。

$ awk 'BEGIN {print "Hello, world"}'
Hello, world
awk允許你編寫兩個特殊的例程,他們在任何輸入被讀取前和所有輸入都被讀取後執行。他們是與BEGIN和END規則相關的過程。換句話說,在主輸入循環執行前和主輸入循環後你可以做一些處理。BEGIN和END過程是可選的。

你可以把awk腳本看做由3個主要部分組成:處理輸入前將做的處理,處理輸入過程中將做的處理,處理輸入完成後做的處理。對於這3個組成部分,主輸入循環或稱為"處理過程中將做的處理"是主要的處理部分。在主輸入循環中,指令被寫成一系列的模式/動作過程。模式是用於測試輸入行的規則,以確定動作是否將應用於這些輸入行。我們將看到的操作可能很復雜,它由語句、函數和表達式組成。

要記住的主要事情是每個模式/操作過程位於主輸入循環中個,且負責讀取輸入行。所編寫的過程將應用於每個輸入行,而且一次一行。

--------------------------------------分割線 --------------------------------------

AWK簡介及使用實例 http://www.linuxidc.com/Linux/2013-12/93519.htm

AWK 簡介和例子 http://www.linuxidc.com/Linux/2012-12/75441.htm

Shell腳本之AWK文本編輯器語法 http://www.linuxidc.com/Linux/2013-11/92787.htm

正則表達式中AWK的學習和使用 http://www.linuxidc.com/Linux/2013-10/91892.htm

文本數據處理之AWK 圖解 http://www.linuxidc.com/Linux/2013-09/89589.htm

如何在Linux中使用awk命令 http://www.linuxidc.com/Linux/2014-10/107542.htm

文本分析工具-awk http://www.linuxidc.com/Linux/2014-12/110939.htm

--------------------------------------分割線 --------------------------------------

Copyright © Linux教程網 All Rights Reserved