gawk快速指南

gawk是awk的GNU版本,采用編程語(yǔ)言的形式

gawk命令格式

gawk options program file

選項(xiàng)

-F fs 指定用于分隔行中數(shù)據(jù)段的文件分隔符

-f file 讀取程序文件名

-v var=value 定義變量及默認(rèn)值

-mf N 指定處理數(shù)據(jù)文件中最大字段數(shù)

-mr N 指定數(shù)據(jù)文件最大記錄數(shù)

-w keyword 指定兼容模式或警告等級(jí)

使用gawk

可以直接在命令行或shell腳本中使用gawk

從命令行上讀取程序腳本

單引號(hào)和花括號(hào)包住

例子:gawk '{print $1}'

在程序腳本中使用多條命令

在每個(gè)命令之間放一個(gè)分號(hào)

從文件中讀取

-f file

處理數(shù)據(jù)前運(yùn)行腳本

BEGIN. 先執(zhí)行BEGIN后面指定的程序腳本再讀取數(shù)據(jù)

處理數(shù)據(jù)后運(yùn)行腳本

END

gawk變量

1.內(nèi)建變量

記錄是一行數(shù)據(jù);數(shù)據(jù)字段是運(yùn)行中獨(dú)立的數(shù)據(jù)元素默認(rèn)空白字符分隔

$0 整條記錄

$1 第一個(gè)數(shù)據(jù)字段

$n 第n個(gè)數(shù)據(jù)字段

FIELDWIDTHS 定義了每個(gè)字段具體寬度

FS 輸入字段分隔符

RS 輸入記錄分隔符

OFS 輸出字段分隔符

ORS 輸出記錄分隔符

更多內(nèi)建變量

ARGC 當(dāng)前命令行參數(shù)個(gè)數(shù)

ARGIND 當(dāng)前文件在ARGV中的索引

ARGV 包含命令行參數(shù)的數(shù)組

CONVFMT 數(shù)字轉(zhuǎn)換格式,默認(rèn)%.6

ENVIRON 由當(dāng)前shell環(huán)境變量及值組成的關(guān)聯(lián)數(shù)組

ERRNO 系統(tǒng)錯(cuò)誤號(hào)

FILENAME 輸入文件名

FNR 當(dāng)前數(shù)據(jù)文件記錄數(shù)

IGNORECASE 設(shè)成非零時(shí),忽略大小寫(xiě)

NF 字段總數(shù)

NR 已處理的記錄數(shù)

OFMT 數(shù)字輸出格式

RLENGTH 由match函數(shù)匹配的子串長(zhǎng)度

RSTART 由match函數(shù)匹配的子串起始位置

gawk程序特性

1.正則表達(dá)式

必須出現(xiàn)在它作用的程序代碼的左花括號(hào)之前

2.匹配操作符

~ 允許將正則表達(dá)式限定在特定的字段上

3.數(shù)學(xué)表達(dá)式

4.結(jié)構(gòu)化命令

類(lèi)似C語(yǔ)言

if (condition) statement1; else statement2

while (conditon) {

statement

}

do {

statement

} while (conditon)

for (variable assignment; condition; iteration process) {}

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀(guān)點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • .bat腳本基本命令語(yǔ)法 目錄 批處理的常見(jiàn)命令(未列舉的命令還比較多,請(qǐng)查閱幫助信息) 1、REM 和 :: 2...
    慶慶慶慶慶閱讀 8,542評(píng)論 1 19
  • linux資料總章2.1 1.0寫(xiě)的不好抱歉 但是2.0已經(jīng)改了很多 但是錯(cuò)誤還是無(wú)法避免 以后資料會(huì)慢慢更新 大...
    數(shù)據(jù)革命閱讀 13,355評(píng)論 2 33
  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,697評(píng)論 19 139
  • 夜幕漸漸低垂了下來(lái),只是星星還沒(méi)有出來(lái),許是因?yàn)榍皟商煜掠甑木壒?,云層太厚,星光撒不下?lái)。 不過(guò)在街道兩邊的高樓里...
    時(shí)間如夢(mèng)閱讀 491評(píng)論 3 1
  • 還記得在2013年4月6日那天,我在上海書(shū)城閑逛,突然廣播里傳來(lái)這樣的聲音:“程龍的《演講達(dá)人成長(zhǎng)記》簽售會(huì)馬上就...
    Tina新星閱讀 422評(píng)論 0 3

友情鏈接更多精彩內(nèi)容