歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> SHELL編程

Linux下Shell編程——awk編程

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