AWK 怎麼讀取標準輸入(STDIN)

2021-09-08 18:59:41 字數 1395 閱讀 4926

在 awk 系列中,我們將會看到幾個例子,你可以篩選其他命令的輸出代替從乙個檔案讀取輸入作為 awk 的輸入。我們首先從使用 dir 命令開始,它類似於 ls 命令。

在第乙個例子下面,我們使用 dir -l 命令的輸出作為 awk 命令的輸入,這樣就可以列印出檔案擁有者的使用者名稱,所屬組組名以及在當前路徑下他/她擁有的檔案。

列出當前路徑下的使用者檔案

再來看另乙個例子,我們使用 awk 表示式 ,在這裡,我們想要在 awk 命令裡使用乙個表示式篩選出字串來列印出屬於 root 使用者的檔案。命令如下:

列出 root 使用者的檔案

上面的命令包含了 (==) 來進行比較操作,這幫助我們在當前路徑下篩選出 root 使用者的檔案。這是通過使用 $3=="root" 表示式實現的。

讓我們再看另乙個例子,我們使用乙個 awk 比較運算子 來匹配乙個確定的字串。

這裡,我們使用了 cat 命令 來瀏覽檔名為 tecmint_deals.txt 的檔案內容,並且我們想要僅僅檢視有字串 tech 的部分,所以我們會執行下列命令:

用 awk 比較運算子匹配字串

在上面的例子中,我們已經用了引數為 ~ /匹配字元/ 的比較操作,但是上面的兩個命令給我們展示了一些很重要的問題。

當你執行帶有 tech 字串的命令時終端沒有輸出,因為在檔案中沒有 tech 這種字串,但是執行帶有 tech 字串的命令,你卻會得到包含 tech 的輸出。

所以你應該在進行這種比較操作的時候時刻注意這種問題,正如我們在上面看到的那樣,awk 對大小寫很敏感。

你總是可以使用另乙個命令的輸出作為 awk 命令的輸入來代替從乙個檔案中讀取輸入,這就像我們在上面看到的那樣簡單。

免費提供最新linux技術教程書籍,為開源技術愛好者努力做得更多更好:

shell read讀取標準輸入

shell read讀取標準輸入 1 基本讀取 read命令接收標準輸入 鍵盤 的輸入,或其他檔案描述符的輸入 後面在說 得到輸入後,read命令將資料放入乙個標準變數中。下面是 read命令 的最簡單形式 bin bash echo n enter your name 引數 n的作用是不換行,ec...

Linux tee 讀取標準輸入流命令

摘要1 摘要2 linux tee命令用於讀取標準輸入的資料,並將其內容輸出成檔案。tee指令會從標準輸入裝置讀取資料,將其內容輸出到標準輸出裝置,同時儲存成檔案。tee ai help version 檔案.引數 i或 ignore interrupts 忽略中斷訊號。version 顯示版本資訊...

從標準輸入行讀取輸入行並在標準輸出中列印這些輸入行

include include include define max cols 20 所處理的最大列號 define max input 1000 每個輸入行的最大長度 int read column numbers int columns,int max void rearrange char o...