ubuntu 和dos 換行符 轉換

2021-05-22 00:02:08 字數 1719 閱讀 6476

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 ...