UNIX 除了可以將資料流導入或導出純文字檔案之外, 還可以將它導向另一個工具軟體,或是濾器。 這個機制稱為導管 (pipe)。導管符號是 | (通常在鍵盤的 Shift+\ 位置)。 | 的功能就是將它左邊的 stdout 資料變成右邊的 stdin。 所以,只要一個工具軟體的輸出是 stdout, 一個工具軟體的輸入是 stdin,就可以用導管將它們銜接在一起, 變成一個新的工作流程 (pipeline)。
例如
cat -n forty.txt | less就是將加上列號的 forty.txt 檔案,放進 less 閱讀工具中。再如
tail -23 forty.txt | cat -n就是將 forty.txt 的後 23 列,加上列號,印在螢幕上。
只要合乎規定,UNIX 並不限定一個流程中可以使用幾次導管。例如您可以說
tail -35 forty.txt | cat -n | less
如果您想要看到一個文字檔案從第 N 列到第 M 列的內容, 可以說
head -M FILE | tail -K其中 K = M - N + 1。
舉個特例。如果想看到 forty.txt 的第 7 列,就說
head -7 forty.txt | tail -1
習題
cat -n forty.txt | head -20 | tail -7 | cat -n是什麼意思,然後實驗之。
注意:此處所有文件均為原著,個別的版權宣告日後會一一公布, 整體版面設計亦尚未完成。但仍請勿抄襲文字與圖片,以免觸犯著作權法。
Created: Nov 19, 2000
Last Revised: Nov 19, 2000
© Copyright 2000 Wei-Chang Shann 單維彰