awk1.0 — awk基础
簡介
grep,sed,awk被稱為Linux文本處理的三劍客,各有特點(diǎn) 
 grep:適合文本的匹配和查找 
 sed:編輯匹配到的文本 
 awk:對文本進(jìn)行格式化輸出 
awk簡介
awk的基本語法是
awk [options] 'Pattern {Actions}' file1,file2...Actions指的是工作,awk擅長文本輸出,最常用的動(dòng)作是print和printf
場景一:簡單輸出文本
$ touch awk.cc
$ echo "ddd" > awk.cc
$ awk '{print}' awk.cc
ddd場景二:格式的輸出某一列數(shù)據(jù)
上圖中,首先將df的結(jié)果通過管道傳給了awk,awk輸出了第五列的數(shù)據(jù),$5表示第五個(gè)。
awk工作原理
awk會(huì)逐行獲取數(shù)據(jù),然后對每一行進(jìn)行處理,將一行中的數(shù)據(jù)按照“分隔符”分割成多個(gè)單次,并依次以1,1,2,3…等變量標(biāo)記這些單詞。用戶可以指定分隔符,如果不指定的話,默認(rèn)使用空格作為單詞之間的分隔符。awk內(nèi)置變量,3…等變量標(biāo)記這些單詞。用戶可以指定分隔符,如果不指定的話,默認(rèn)使用空格作為單詞之間的分隔符。awk內(nèi)置變量,0表示整行,NF表示一行中的最后一個(gè)變量(單詞)。還可以使用NF表示一行中的最后一個(gè)變量(單詞)。還可以使用(NF-1)表示倒數(shù)第一個(gè)變量。
其他輸出形式
記住一點(diǎn),awk中的單詞都是以變量的形式存在
- 輸出多列,變量以逗號(hào)隔開
# df | awk '{print $1,$NF}'- 輸出自定義變量
# df | awk '{print $1,$NF,"string"}'需要注意的是,將$標(biāo)識(shí)的變量和我們傳入的變量分清楚就好了
awk的模式
再次重申awk的語法
awk [options] 'Pattern {Actions}' file1,file2...這里我們再來說awk的模式,awk有很多模式,先說兩個(gè)特殊的模式,BEGIN和END 
 BEGIN標(biāo)識(shí),在處理awk的操作之前,先要執(zhí)行的操作,END標(biāo)識(shí),在執(zhí)行完畢之后,再要執(zhí)行的操作 
 
BEGIN模式處理的一個(gè)優(yōu)點(diǎn)就是,在格式化顯示文本之前,給每一列做一個(gè)標(biāo)識(shí),BEGIN就是執(zhí)行awk之前先要進(jìn)行的操作。
注意:多個(gè)操作強(qiáng)調(diào)內(nèi)容一定要在單引號(hào)內(nèi)(”),要有花括號(hào)分割({})
總結(jié)
以上是生活随笔為你收集整理的awk1.0 — awk基础的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 求一个带莹丫头字唯美qq网名。
- 下一篇: 鼋头渚湖上的是海鸥吗
