UNIX 文字工具: 修復折列指令

如果不慎從 MS-Windows 或 MS-DOS 以 binary 模式傳送純文字檔案到 UNIX, 則仍然會折列,但是每一列的最後都有一個 CR 碼,顯示在終端機上的符號可能是 ^M。 這其實也無傷大雅,恐怕只有在像 vi 這種編輯器裡面才看得到。 只是有些礙眼而已,沒有大問題。 如果想要把它去除掉,可以用 tr 的 -d (delete) 參數。

若含有 CR 碼的檔案是 test.dat, 以下指令可以刪除所有在 test.dat 內的 CR 碼, 並將結果儲存在 test.txt 檔案內。

tr -d '\015' < test.dat > test.txt
上面的 \015 是 CR 之 ASCII 號碼的八進制數字。

如果不慎從 Mac OS 以 binary 模式傳送純文字檔案到 UNIX, 則根本不會折列。 我們必須將每一個 CR 碼換成 LF 碼才可以恢復正常。 若該檔案是 test.dat, 以下指令可以將 test.dat 內的所有 CR 碼都換成 LF 碼, 並將結果儲存在 test.txt 檔案內。

tr '\015' '\012' < test.dat > test.txt

習題

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



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

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

shann@math.ncu.edu.tw