2011年3月17日 星期四

UNIX 文字工具: pipe

UNIX 文字工具: pipe

UNIX 除了可以將資料流導入或導出純文字檔案之外, 還可以將它導向另一個工具軟體,或是濾器。 這個機制稱為導管 (pipe)。導管符號是 | (通常在鍵盤的 Shift+\ 位置)。 | 的功能就是將它左邊的 stdout 資料變成右邊的 stdin。 所以,只要一個工具軟體的輸出是 stdout, 一個工具軟體的輸入是 stdin,就可以用導管將它們銜接在一起, 變成一個新的工作流程 (pipeline)。
例如
cat -n list.txt | less
就是將加上列號的 list.txt 檔案,放進 less 閱讀工具中。再如
tail -12 list.txt | cat -n
就是將 list.txt 的後 12列,加上列號,印在螢幕上。
只要合乎規定,UNIX 並不限定一個流程中可以使用幾次導管。例如您可以說
tail -22 list.txt | cat -n | less

如果您想要看到一個文字檔案從第 n 列到第 m 列的內容, 可以說
head -m FILE | tail -K
其中 K = m - n + 1。
舉個特例。如果想看到  list.txt 的第 5 列,就說
head -5 forty.txt | tail -1

參考http://libai.math.ncu.edu.tw/bcc16/6/textutil/index.html

沒有留言:

熱門文章