gawk程序是Unix中原始awk程序的GNU版本。gawk程序讓流編輯器邁上了一個新的臺階,它提供了一種編程語言而不只是編輯器命令。在gawk編程語言中,可以完成下面的事情:
(1)定義變量來保存數(shù)據(jù);
(2)使用算數(shù)和字符串操作符來處理數(shù)據(jù);
(3)使用結構化編程概念(比如if-then語句和循環(huán))來為數(shù)據(jù)處理增加處理邏輯;
(4)通過提取數(shù)據(jù)文件中的數(shù)據(jù)元素,將其重新排列或格式化,生成格式化報表;
gawk程序的報告生成能力通常用來從大文本文件中提取數(shù)據(jù)元素,并將它們格式化成可讀的報告。其中完美的例子是格式化日志文件。在日志文件中找出錯誤行會很難,gawk程序可以讓你從日志文件中過濾出需要的數(shù)據(jù)元素,然后你可以將其格式化,使得重要的數(shù)據(jù)易于閱讀。
1 gawk命令格式
gawk option program file 選項: 描述 -F fs 指定行中劃分數(shù)據(jù)字段的字段分隔符 -f file 從指定的文件中讀取程序 -v var=value 定義gawk程序中的一個變量及其默認值 -mf N 指定要處理的數(shù)據(jù)文件中的最大字段數(shù) -mr N 指定數(shù)據(jù)文件中的最大數(shù)據(jù)行數(shù) -W keyword 指定gawk的兼容模式或警告等級
命令行選項提供了一個簡單的途徑來定制gawk程序中的功能。
gawk的強大之處在于程序腳本,可以寫腳本來讀取文本行的數(shù)據(jù),然后處理并顯示數(shù)據(jù),創(chuàng)建任何類型的輸出報告。