windows文件 linux cr,DOS/Windows和Linux/Unix间的文件格式转换
做無線傳感器網(wǎng)絡自己生產(chǎn)拓撲的時候一直碰到看起來相同的文件被解析成拓撲的時候卻不同,一直摸不清原因,居然是這個問題,還好看見了這篇文章。
DOS/Windows和Linux/Unix的文件換行回車格式不同,基于 DOS/Windows 的文本文件在每一行末尾有一個 CR(回車)和 LF(換行),而 UNIX 文本只有一個換行。
1)把Dos/Windows下的文件移至Linux/Unix系統(tǒng)
雖然很多程序不在乎 DOS/Windows 格式的 CR/LF 文本文件,但是有幾個程序卻在乎 -- 最著名的是 bash,只要一遇到回車,它就會出問題。以下 sed 調(diào)用將把 DOS/Windows 格式的文本轉(zhuǎn)換成可信賴的 UNIX 格式:
$ sed -e 's/.$//' mydos.txt > myunix.txt
該腳本的工作原理很簡單:替代規(guī)則表達式與一行的最末字符匹配,而該字符恰好就是回車。我們用空字符替換它,從而將其從輸出中徹底刪除。如果使用該腳本并注意到已經(jīng)刪除了輸出中每行的最末字符,那么,您就指定了已經(jīng)是 UNIX 格式的文本文件。也就沒必要那樣做了!
2)把Linux/UNIX 文本移至 Windows 系統(tǒng),使用以下腳本執(zhí)行必需的格式轉(zhuǎn)換:
$ sed -e 's/$/\r/' myunix.txt > mydos.txt
在該腳本中,'$' 規(guī)則表達式將與行的末尾匹配,而 '\r' 告訴 sed 在其之前插入一個回車。在換行之前插入回車,立即,每一行就以 CR/LF 結(jié)束。請注意,僅當使用 GNU sed 3.02.80 或以后的版本時,才會用 CR 替換 '\r'。
總結(jié)
以上是生活随笔為你收集整理的windows文件 linux cr,DOS/Windows和Linux/Unix间的文件格式转换的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux环境下的连接器,Linux下连
- 下一篇: vnc远程桌面复制文件Linux,vnc