Bash 中的管道
Fumbani Banda
2023年1月30日
2022年5月11日
本教程解釋了管道是什麼以及它們在 Unix 和 Linux 環境中的用法。
Unix 和 Linux 中的管道
Unix 和 Linux 環境中的管道將一個命令的標準輸出作為標準輸入傳遞給另一個命令以進行進一步處理。管道使用管道運算子將命令的輸出作為輸入傳遞給另一個命令。管道運算子是一個豎線,|
。
使用管道時,資料從左向右流動。管道有助於在命令之間無縫且連續地傳遞資料,而不是使用文字檔案來傳遞資料。
以下語法用於管道。
command1 | command2 | command3
根據上面的語法,command1
的標準輸出通過管道傳送到 command2
作為標準輸入。command2
處理來自 command1
的標準輸入,並將輸出通過管道傳輸到 command3
以供進一步處理。
在 Bash 中使用管道
以下示例演示如何在 Bash 中使用管道。
在下圖中,第一個 ls
命令列出了 test
資料夾的所有內容。第二個 ls
命令將標準輸出作為標準輸入傳遞給 head
命令。
head
命令有 -2
選項;這告訴 head
命令顯示 ls
命令輸出的前兩行。
第一個 cat
命令在下圖中顯示檔案的內容 file1.txt
。第二個 cat
命令將標準輸出通過管道傳輸到 grep
命令。
grep
命令匹配其中包含模式 John
的行,一旦找到該行,輸出將通過管道傳送到 tee
命令,該命令將該行寫入 output.txt
檔案。tee
命令還將其標準輸出通過管道傳輸到 wc
命令。
wc
命令計算檔案中的字數、字元數或行數。wc
的選項已設定為 -mwl
。-m
選項告訴 wc
命令計算檔案中的字元數並將其列印到螢幕上。
使用 -w
選項統計檔案中的字數,使用 -l
選項統計檔案中的行數,並將數字通過終端列印到標準輸出。
output.txt
檔案有 1
行、4
個單詞和 21
個字元。
Author: Fumbani Banda