您好,登錄后才能下訂單哦!
這篇文章將為大家詳細(xì)講解有關(guān)AWK如何讀取標(biāo)準(zhǔn)輸入,小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。
在 awk 系列中,我們將會(huì)看到幾個(gè)例子,你可以篩選其他命令的輸出代替從一個(gè)文件讀取輸入作為 awk 的輸入。我們首先從使用 dir 命令開(kāi)始,它類(lèi)似于 ls 命令。
在第一個(gè)例子下面,我們使用 dir -l 命令的輸出作為 awk 命令的輸入,這樣就可以打印出文件擁有者的用戶(hù)名,所屬組組名以及在當(dāng)前路徑下他/她擁有的文件。
# dir -l | awk '{print $3, $4, $9;}'
列出當(dāng)前路徑下的用戶(hù)文件
再來(lái)看另一個(gè)例子,我們使用 awk 表達(dá)式 ,在這里,我們想要在 awk 命令里使用一個(gè)表達(dá)式篩選出字符串來(lái)打印出屬于 root 用戶(hù)的文件。命令如下:
# dir -l | awk '$3=="root" {print $1,$3,$4, $9;} '
列出 root 用戶(hù)的文件
上面的命令包含了 (==) 來(lái)進(jìn)行比較操作,這幫助我們?cè)诋?dāng)前路徑下篩選出 root 用戶(hù)的文件。這是通過(guò)使用 $3==”root” 表達(dá)式實(shí)現(xiàn)的。
讓我們?cè)倏戳硪粋€(gè)例子,我們使用一個(gè) awk 比較運(yùn)算符 來(lái)匹配一個(gè)確定的字符串。
這里,我們使用了 cat 命令 來(lái)瀏覽文件名為 tecmint_deals.txt 的文件內(nèi)容,并且我們想要僅僅查看有字符串 Tech 的部分,所以我們會(huì)運(yùn)行下列命令:
# cat tecmint_deals.txt# cat tecmint_deals.txt | awk '$4 ~ /tech/{print}'# cat tecmint_deals.txt | awk '$4 ~ /Tech/{print}'
用 Awk 比較運(yùn)算符匹配字符串
在上面的例子中,我們已經(jīng)用了參數(shù)為 ~ /匹配字符/ 的比較操作,但是上面的兩個(gè)命令給我們展示了一些很重要的問(wèn)題。
當(dāng)你運(yùn)行帶有 tech 字符串的命令時(shí)終端沒(méi)有輸出,因?yàn)樵谖募袥](méi)有 tech 這種字符串,但是運(yùn)行帶有 Tech 字符串的命令,你卻會(huì)得到包含 Tech 的輸出。
所以你應(yīng)該在進(jìn)行這種比較操作的時(shí)候時(shí)刻注意這種問(wèn)題,正如我們?cè)谏厦婵吹降哪菢?,awk 對(duì)大小寫(xiě)很敏感。
你總是可以使用另一個(gè)命令的輸出作為 awk 命令的輸入來(lái)代替從一個(gè)文件中讀取輸入,這就像我們?cè)谏厦婵吹降哪菢雍?jiǎn)單。
關(guān)于“AWK如何讀取標(biāo)準(zhǔn)輸入”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。