linux下的awk是行處理器,通常用來(lái)格式化文本信息。awk在處理龐大文件時(shí)不會(huì)出現(xiàn)內(nèi)存溢出的問(wèn)題。awk命令格式:【awk [-F|-f|-v] ‘BEGIN{} //{command1; command2} END{}’ file】。
awk介紹
(推薦教程:linux教程)
awk是行處理器,相比較屏幕處理的優(yōu)點(diǎn),在處理龐大文件時(shí)不會(huì)出現(xiàn)內(nèi)存溢出或是處理緩慢的問(wèn)題,通常用來(lái)格式化文本信息。
awk處理過(guò)程:依次對(duì)每一行進(jìn)行處理,然后輸出。
awk命令形式:
awk?[-F|-f|-v]?‘BEGIN{}?//{command1;?command2}?END{}’?file
參數(shù)介紹:?
-
-F????指定分隔符
-
-f????調(diào)用腳本
-
-v????定義變量
-
‘ ?‘ ????引用代碼塊
-
BEGIN????初始化代碼塊,在對(duì)每一行進(jìn)行處理之前,初始化代碼,主要是引用全局變量,設(shè)置FS分隔符
-
//????匹配代碼塊,可以是字符串或正則表達(dá)式
-
{}????命令代碼塊,包含一條或多條命令
-
END ? ? ?結(jié)尾代碼塊,在對(duì)每一行進(jìn)行處理之后再執(zhí)行的代碼塊,主要是進(jìn)行最終計(jì)算或輸出結(jié)尾摘要信息
我們來(lái)看一下幾個(gè)應(yīng)用:
awk?-F:?'{print?NF}'?/etc/passwd????//輸出文件每行有多少字段 awk?-F:?'{print?$1,$2,$3,$4,$5}'?/etc/passwd????//輸出前5個(gè)字段 awk?-F:?'{print?$1,$2,$3,$4,$5}'?OFS='t'?/etc/passwd????//輸出前5個(gè)字段并使用制表符分隔輸出 awk?-F:?'{print?NR,$1,$2,$3,$4,$5}'?OFS='t'?/etc/passwd????//制表符分隔輸出前5個(gè)字段,并打印行號(hào)
? 版權(quán)聲明
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載。
THE END
喜歡就支持一下吧
相關(guān)推薦