linux下的awk是什么意思

linux下的awk是行處理器,通常用來(lái)格式化文本信息。awk在處理龐大文件時(shí)不會(huì)出現(xiàn)內(nèi)存溢出的問(wèn)題。awk命令格式:【awk [-F|-f|-v] ‘BEGIN{} //{command1; command2} END{}’ file】。

linux下的awk是什么意思

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)聲明
THE END
喜歡就支持一下吧
點(diǎn)贊7 分享