佳木斯湛栽影视文化发展公司

主頁 > 知識(shí)庫 > Windows與Linux換行符差別所引起的問題的解決方法

Windows與Linux換行符差別所引起的問題的解決方法

熱門標(biāo)簽:服務(wù)器配置 電話機(jī)器人搭建 硅谷的囚徒呼叫中心 美團(tuán) 家政服務(wù)網(wǎng)絡(luò) 外呼系統(tǒng) 解決方案 百度競價(jià)點(diǎn)擊價(jià)格的計(jì)算公式

windows和linux下的換行符是不同的。一般操作系統(tǒng)上的運(yùn)行庫會(huì)自動(dòng)決定文本文件的換行格式. 如一個(gè)程序在windows上運(yùn)行就生成CR/LF換行格式的文本文件,而在linux上運(yùn)行就生成LF格式換行的文本文件. 在一個(gè)平臺(tái)上使用另一種換行符的文件文件可能會(huì)帶來意想不到的問題, 特別是在編輯程序代碼時(shí). 有時(shí)候代碼在編輯器中顯示正常, 但在編輯時(shí)卻會(huì)因?yàn)閾Q行符問題而出錯(cuò). 很多文本/代碼編輯器帶有換行符轉(zhuǎn)換功能, 使用這個(gè)功能可以將文本文件中的換行符在不同格式單互換.

在不同平臺(tái)間使用FTP軟件傳送文件時(shí), 在ascii文本模式傳輸模式下, 一些FTP客戶端程序會(huì)自動(dòng)對換行格式進(jìn)行轉(zhuǎn)換. 經(jīng)過這種傳輸?shù)奈募止?jié)數(shù)可能會(huì)發(fā)生變化. 如果你不想ftp修改原文件, 可以使用bin模式(二進(jìn)制模式)傳輸文本.

解決:在linux下用dos2unix filename轉(zhuǎn)換一次之后,成功解決問題。

dos2unix命令用來將DOS格式的文本文件轉(zhuǎn)換成UNIX格式的(DOS/MAC to UNIX text file format converter)。DOS下的文本文件是以\r\n作為斷行標(biāo)志的,表示成十六進(jìn)制就是0D 0A。而Unix下的文本文件是以\n作為斷行標(biāo)志的,表示成十六進(jìn)制就是 0A。DOS格式的文本文件在Linux底下,用較低版本的vi打開時(shí)行尾會(huì)顯示^M,而且很多命令都無法很好的處理這種格式的文件,如果是個(gè)shell 腳本,。而Unix格式的文本文件在Windows下用Notepad打開時(shí)會(huì)拼在一起顯示。因此產(chǎn)生了兩種格式文件相互轉(zhuǎn)換的需求,對應(yīng)的將UNIX格 式文本文件轉(zhuǎn)成成DOS格式的是unix2dos命令。
常用參數(shù):

將DOS格式文本文件轉(zhuǎn)換成Unix格式,最簡單的用法就是dos2unix直接跟上文件名。

格式:dos2unix file

如果一次轉(zhuǎn)換多個(gè)文件,把這些文件名直接跟在dos2unix之后。(注:也可以加上-o參數(shù),也可以不加,效果一樣)

格式:dos2unix file1 file2 file3

格式:dos2unix -o file1 file2 file3

上面在轉(zhuǎn)換時(shí),都會(huì)直接在原來的文件上修改,如果想把轉(zhuǎn)換的結(jié)果保存在別的文件,而源文件不變,則可以使用-n參數(shù)。

格式:dos2unix oldfile newfile

如果要保持文件時(shí)間戳不變,加上-k參數(shù)。所以上面幾條命令都是可以加上-k參數(shù)來保持文件時(shí)間戳的。

格式:dos2unix -k file

格式:dos2unix -k file1 file2 file3

格式:dos2unix -k -o file1 file2 file3

格式:dos2unix -k -n oldfile newfile

注:unix2dos命令的使用方式與dos2unix命令的類似。

cat -v可以看到文件中的非打印字符,而不帶-v參數(shù)的cat命令不行。
hexdump -C可以看到文件每個(gè)字節(jié)的十六進(jìn)制表示。

標(biāo)簽:南昌 臨沂 邢臺(tái) 防城港 北海 撫州 烏蘭察布 韶關(guān)

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Windows與Linux換行符差別所引起的問題的解決方法》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    昌宁县| 普宁市| 定西市| 修文县| 文昌市| 恩平市| 河南省| 安庆市| 正宁县| 渑池县| 平果县| 静海县| 古田县| 青神县| 抚顺县| 广南县| 祥云县| 磐安县| 平原县| 确山县| 安岳县| 罗江县| 松潘县| 宁河县| 陕西省| 津南区| 岐山县| 仁寿县| 济南市| 怀柔区| 六枝特区| 防城港市| 晋宁县| 黄骅市| 开阳县| 五峰| 上思县| 合江县| 同仁县| 中江县| 自治县|