(壹) 最近在學習shell編程,可是在《Linux程序設計》指定的網站上下載了源碼,使用的時候卻壹直出問題。提示:”bash: ./here1:/bin/sh^M:損壞的解釋器: 沒有該文件或目錄“。之後用vi編輯器打開文件,發覺每壹行的最後有淺藍色的字符'^M'。才知道了問題所在 其實並沒什麽奇怪的,出現這種錯誤的原因是因為Linux和Windows文本文件的行結束標誌不同。在Linux中,文本文件用"\n"(0a)表示回車換行,而Windows用"\r\n"(0d 0a)表示回車換行。所以在Linux中使用Windows的文本文件常常會出現錯誤。為了避免這種錯誤,Linux提供了兩種文本格式相互轉化的命令:dos2unix和unix2dos,dos2unix把"\r\n"轉化成"\n",unixtodos把"\n"轉化成"\r\n"。 命令dos2unix和unix2dos的使用非常簡單,格式為:dos2unix filename 如果想更多的了解這兩個命令,可以查看手冊: man dos2unix 它會告訴妳dos2unix的高級用法 (二) Ubuntu下默認沒有安裝dos2unix工具,而且也沒有壹個叫這個名字的工具(我在solaris裏用過dos2unix,不知道為啥Ubuntu沒有)。但是有壹個替代工具——tofrodos , 下面就說壹下它的安裝和使用。 當然還是apt安裝啦。 (1)安裝tofrodos sudo apt-get install tofrodos 實際上它安裝了兩個工具:todos(相當於unix2dos),和fromdos(相當於dos2unix) 安裝完即可,現在妳已經可以進行文本格式的轉換啦。 比如: todos Hello.txt (即unix2dos Hello.txt) fromdos Hello.txt (即dos2unix Hello.txt) (2)做壹些優化 由於習慣了unix2dos和dos2unix的命令,可以把上面安裝的兩個工具鏈接成unix2dos 和dos2unix,或者僅僅是起個別名,並放在啟動腳本裏。 步驟:以下是代碼片段:ln -s /usr/bin/todos /usr/bin/unix2dos ln -s /usr/bin/fromdos /usr/bin/dos2unix 或者在 ~/.bashrc裏起個別名 添加 alias unix2dos=todos alias dos2unix=fromdos (三) 另外如果要在目錄中大量替換, 可以使用find + xargs 比如: find ./model -name *.sh | xargs fromdos
上一篇:海爾l32k1a液晶電視 上的usb接口支持什麽格式的視頻 和最高分辨率下一篇:白小姐源代碼