有一種T頭的水管銜接嘴,可以一進兩出,使得水流一分為二。 UNIX 的文字介面沒有設計讓資料流分岔進入兩個導管 (pipe) 的功能。 但是可以分岔,一邊存檔,一邊繼續流進導管。這就是 tee 指令。
tee 只接受 stdin 輸入,它將輸入的資料複製成兩份, 一份存檔,一份輸出到 stdout。 進入 stdout 的這一份,可以再被導向至其他檔案或工具軟體。 存檔的檔案名就寫在 tee 的後面,例如
tee NEWFILE < FILE就把 FILE 的內容一份存進 NEWFILE,另一份放到 stdout。 如果說
tee -a NEWFILE < FILE則假設 NEWFILE 已經存在,而是將 FILE 的內容銜接在 NEWFILE 的後面。
如果想要知道 indian.txt 裡面一共用了幾個不同的字, 同時又要把這些不同的字儲存在檔案裡面,可以說
tr ' ' '\012' < indian.txt | sort -u | tee words.txt | wc -l則螢幕上顯示
14而那 14 個字存入了 words.txt 檔案。
習題
注意:此處所有文件均為原著,個別的版權宣告日後會一一公布, 整體版面設計亦尚未完成。但仍請勿抄襲文字與圖片,以免觸犯著作權法。
Created: Nov 20, 2000
Last Revised: Nov 20, 2000
© Copyright 2000 Wei-Chang Shann 單維彰