UNIX 文字工具: 導入檔案

任何灑到螢幕上的資料流,都可以被導入 (redirect) 另一個檔案。 例如

cat FILE > ANOTHER_FILE
就會將 FILE 的內容寫進 ANOTHER_FILE。請實驗
cat indian.txt > ten.txt
再用 cat 看看 ten.txt 的內容,發現和 indian.txt 完全一樣。 其實,以上指令的效果就和
cp indian.txt ten.txt
完全一樣。

如果 ANOTHER_FILE 原本不存在,UNIX 會建立一個新檔案出來。 如果 ANOTHER_FILE 原本已經存在,有些系統會自動幫您覆蓋 (over-write); 也就是說,以 FILE 的內容取代 ANOTHER_FILE 原本的內容。 但是有些系統則不會自動覆蓋,而會顯示錯誤訊息

ANOTHER_FILE: File exists
這時候,如果您確定要覆蓋,則可以說
cat FILE >! ANOTHER_FILE
或者,如果您想要將 FILE 的內容銜接在 ANOTHER_FILE 原本的內容之後 (append), 則可以說
cat FILE >> ANOTHER_FILE

流入和流出的檔案,必需不同。所以說

cat indian.txt > indian.txt
cat indian.txt >! indian.txt
cat indian.txt >> indian.txt
都是違反 UNIX 檔案導向規則的。請試試看。

習題

  1. 實驗您目前使用的 UNIX 系統,是允許自動覆蓋,還是禁止?
  2. 建立 ten.txt 檔案。

[ 前一節 ]‧[ 後一節 ]‧[ 回目錄 ]



注意:此處所有文件均為原著,個別的版權宣告日後會一一公布, 整體版面設計亦尚未完成。但仍請勿抄襲文字與圖片,以免觸犯著作權法。

Created: Nov 17, 2000
Last Revised: Nov 17, 2000
© Copyright 2000 Wei-Chang Shann 單維彰

shann@math.ncu.edu.tw