溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

AWK如何讀取標(biāo)準(zhǔn)輸入

發(fā)布時(shí)間:2022-02-19 09:37:35 來(lái)源:億速云 閱讀:190 作者:小新 欄目:開(kāi)發(fā)技術(shù)

這篇文章將為大家詳細(xì)講解有關(guān)AWK如何讀取標(biāo)準(zhǔn)輸入,小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。

在 awk 系列中,我們將會(huì)看到幾個(gè)例子,你可以篩選其他命令的輸出代替從一個(gè)文件讀取輸入作為 awk 的輸入。我們首先從使用 dir 命令開(kāi)始,它類(lèi)似于 ls 命令。

AWK如何讀取標(biāo)準(zhǔn)輸入

在第一個(gè)例子下面,我們使用 dir -l 命令的輸出作為 awk 命令的輸入,這樣就可以打印出文件擁有者的用戶(hù)名,所屬組組名以及在當(dāng)前路徑下他/她擁有的文件。

# dir -l | awk '{print $3, $4, $9;}'
AWK如何讀取標(biāo)準(zhǔn)輸入
AWK 怎么讀取標(biāo)準(zhǔn)輸入(STDIN)AWK 怎么讀取標(biāo)準(zhǔn)輸入(STDIN)

列出當(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;} '
AWK如何讀取標(biāo)準(zhǔn)輸入
AWK 怎么讀取標(biāo)準(zhǔn)輸入(STDIN)AWK 怎么讀取標(biāo)準(zhǔn)輸入(STDIN)

列出 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如何讀取標(biāo)準(zhǔn)輸入
AWK 怎么讀取標(biāo)準(zhǔn)輸入(STDIN)AWK 怎么讀取標(biāo)準(zhǔn)輸入(STDIN)

用 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)把它分享出去讓更多的人看到。

向AI問(wèn)一下細(xì)節(jié)

免責(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)容。

awk
AI