windows(dos)下的換行符 和 linux (ubuntu)下的換行符是不同的。
在涉及到dos下的文字 在linux下 操作時,就涉及到換行符不同帶來的麻煩。
,在dos使用的換行符為 ^m$,我們稱為cr與lf兩個符號。而在linux中,則僅有lf ($) 這個換行符。這個換行符對於
linux的影響很大。 我們說過,在開始執行linux命令時,它的判斷依 據是「enter」,而linux的enter為lf符號。不過,
由於dos的換行符是crlf,就是多了乙個 ^m的符號,在這樣的情況下,如果是乙個shell指令碼的程式檔案,將可能造
成「程式無法執行」的狀態,因為它會誤判程式的命令內容。
怎麼辦?很簡單,將格式轉換為linux即可。要以vi進入該檔案,然後乙個乙個地刪除cr嗎?當然不是。我們可以通過
簡單的命令來進行格式的轉換。
dos2unix
通過man 查詢命令使用語法
因為換行符以及dos與linux作業系統中一些字 符的定義不同,因此,建議不要在windows系統中將檔案編輯好之後,
才上傳到linux系統,這樣容易發生錯誤。而且,如果在不同的系統之間複製一些 純文字檔案時,
千萬要使用unix2dos或dos2unix來轉換格式。
cr, lf, cr/lf是不同作業系統上使用的換行符.
dos和windows採用回車+換行cr/lf表示下一行,
而unix/linux採用換行符lf表示下一行,
蘋果機(mac os系統)則採用回車符cr表示下一行.
cr用符號'/r'表示, 十進位制ascii**是13, 十六進製制**為0x0d;
lf使用'/n'符號表示, ascii**是10, 十六制為0x0a.
所以windows平台上換行在文字檔案中是使用 0d 0a 兩個位元組表示, 而unix和蘋果平台上換行則是使用0a或0d乙個位元組表示.
一般作業系統上的執行庫會自動決定文字檔案的換行格式. 如乙個程式在windows上執行就生成cr/lf換行格式的文字檔案,
顯示正常, 但在編輯時卻會因為換行符問題而出錯.
很多文字/**編輯器帶有換行符轉換功能, 使用這個功能可以將文字檔案中的換行符在不同格式單互換.
在不同平台間使用ftp軟體傳送檔案時, 在ascii文字模式傳輸模式下, 一些ftp客戶端程式會自動對換行格式進行轉換. 經過
這種傳輸的檔案位元組數可能會發生變化. 如果你不想ftp修改原檔案, 可以使用bin模式(二進位制模式)傳輸文字.
標誌符號
十進位制asscii碼數
十六進製制數
/r
13
0x0d
lf/n
100x0a
標誌win/dos
linux,unix等
/r/n ()
/n ()
crlf的含義是「carriage return/line feed」,意思就是回車。這是兩個ascii字元,分別排在第十三和第十位。cr和lf是在計算機終端還是電傳印表機的時候遺留下來的東西。電傳打字機 就像普通打字機一樣工作。在每一行的末端,cr命令讓列印頭回到左邊。lf命令讓紙前進一行。雖然使用捲紙的終端時代已經過去了,但是,cr和lf命令依 然存在,許多應用程式和網路協議仍使用這些命令作為分隔符。
linux和Dos下換行符轉換
linux下換行符之間的轉換 unix 系統裡,每行結尾只有 換行 即 n windows系統裡面,每行結尾是 回車 換行 即 r n mac系統裡,每行結尾是 回車 在windows系統裡用notepad 開啟 unix換行為 lf windows換行為 cr lf mac換行為 cr 注 not...
Python 換行符轉換
因為工作需求,需要把目錄下的所有換行符轉換為windows換行符 r n 檔案太多,只好寫乙個簡單的python指令碼轉換。import os import os.path rootdir r d src def replace filename try oldfile open rootdir f...
textarea換行符轉換
description textarea換行符轉指定字元 param str 要放到textarea的字串 param code 要轉換成換行的字元,預設為 export const textareatostring str,code description 轉為textarea換行符 param ...