歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> SHELL編程 >> Linux下Shell編程——awk編程

Linux下Shell編程——awk編程

日期:2017/3/1 9:56:22   编辑:SHELL編程
awk編程

awk功能與sed相似,都是用來進行文本處理的,awk語言可以從文件或字符串中基於指定規則浏覽和抽取信息,在抽取信息的基礎上,才能進行其他文本操作。

awk是一種編程語言,gawk是目前最新的版本,當前的Linux版本用的都是gawk。 Linux系統/bin目錄下有awk和gawk兩個命令,awk實際上是/bin/gawk的鏈接,gawk是一種功能很強且很實用的語言,利用gawk語言可以實現數據查找、抽取文件中數據、創建管道流命令等功能。

awk編程模型

awk定義了兩個特殊的字段:BEGIN和END,BEGIN用於在主輸入循環之前執行,即在未讀取輸入文件行之前執行,END則相反,用於在主輸入循環之後執行,即在讀取輸入文件行完畢後執行。

我們可簡單的將awk編程模型分為三個階段:

讀輸入文件之前的執行代碼段(由BEGIN關鍵字標識)

讀取輸入文件時的執行代碼段

讀輸入文件完畢之後的執行代碼段(由END關鍵字標識)


awk調用方法

調用awk的方法與調用sed類似,也有三種方式,一種為Shell命令行方式,另外兩種是將awk程序寫入腳本文件,然後執行該腳本文件。

三種方式的命令格式歸納如下:

1、在Shell命令行輸入命令調用awk,格式為:awk[-F 域分隔符] 'awk程序段' 輸入文件

同樣要注意,需要用單引號將awk程序段引起來。

2、將awk程序段插入腳本文件,然後通過awk命令調用它,格式為:awk-f awk腳本文件輸入文件

與sed命令類似,awk也用-f選項表示調用awk腳本文件。

3、將sed命令插入腳本文件後,最常用的方法是設置該腳本文件為可執行,然後直接執行該腳本文件,格式為:./awk腳本文件輸入文件

如用第3種方式調用awk,awk腳本文件仍以sha-bang(#!)符號開頭,但是,sha-bang符號後面加上awk或gawk的路徑。
Copyright © Linux教程網 All Rights Reserved