Linux 轉換換行符
將Windows下編寫的一個txt檔案在Linux下開啟的時候發現每行行末都會多出^M,而將Linux編寫的一個txt檔案在Windows下開啟時發現所有的內容都在一行顯示,原本在Linux下是分了行的,為什麼會出現這種現象呢?其實這與windows和Linux對換行符的標誌不一樣而已。
在介紹兩者系統的換行符之前,先介紹下回車與換行的概念。
回車:CR,在文字中顯示為^M,在字串中對應為‘\r‘,r表示return;
換行:LF,在文字中顯示為$,在字串中對應為‘\n‘,n表示next。
Windows中斷行字元
Windows覺得換行應該要做兩件事:第一是要將讀寫針頭跑到下一行(換行);第二則是要在下一行從頭開始讀寫(回車),所以windows一直都是用 CR+LF表示換行的意思,字元為‘\r\n‘。
Linux中的斷行字元
早起的Unix閒用兩個字元(CR+LF)表示表示換行麻煩,就只採用後者LF(mac系統則獨樹一幟,採用前者CR表示換行符)。所以Linux採用的換行字元為‘\n‘。
總結:Windows中的斷行字元為‘\r\n‘,Linux中的斷行字元為‘\n‘,mac的斷行字元為‘\r‘。
既然Linux和Windows的斷行字元不一致,那麼問題就來了。兩者在相互讀取問題的時候,則會出現向本文開頭那樣的問題:Linux系統讀windows系統下編寫的txt檔案時,會在每行的末尾多一個^M(即多了‘\r‘);而windows系統下讀取Linux下編寫的txt檔案時,所有的內容都在同一行(因為缺少\r)。
在Linux下提供了一組命令,來相互轉化windows後Linux下的檔案.
dos2UNIX命令:將Windows檔案-->Linux檔案;
UNIX2dos命令:將Linux檔案--->Windows檔案;
兩個引數:
-k:(keep)保留原來檔案的最近修改時間引數,即本次轉化不算修改內容,mtime不變;
-n 舊檔名 新檔名:(new)保留舊檔案,將轉化後的檔案輸出到新檔案。
Notice:在Linux系統下讀取Windows檔案時,一定要先採用dos2UNIX命令轉化下;將Linux下編寫的檔案傳給Windows檔案時,一定要先用UNIX2dos轉化下。
原文:http://blog.csdn.net/jxh_123/article/details/26220619
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12707874/viewspace-2917364/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Java 檔案換行符識別與轉換Java
- GitHub 第一坑:換行符自動轉換Github
- **PHP中替換換行符PHP
- js將文字框的內容回車換行符轉換為<br/>換行JS
- [轉]Linux、windows下回車換行格式轉換LinuxWindows
- c#換行符及空格符(轉義字元)C#字元
- 換行符處理
- 利用符號進行的型別轉換,轉換成數字型別 ~~符號型別
- linux下的製表符和換行Linux
- 微信小程式實現轉義換行符微信小程式
- JS轉換HTML轉義符JSHTML
- 【換行符】Windows、Unix、Mac不同作業系統的回車符 和換行符 WindowsMac作業系統
- oracle 回車、換行符Oracle
- 替換SQL欄位中的換行符,回車符,空格等特殊符號SQL符號
- HTML換行符和水平線HTML
- 菜鳥教程之工具使用(八)——EGit禁止自動轉換回車換行符Git
- 行列轉換,列行轉換統計
- RxJava操作符之轉換操作符(四)RxJava
- Linux Shell命令換行問題(轉)Linux
- linux_sed替換特殊符號Linux符號
- Linux - 回車符和換行符及其在不同系統上的區別Linux
- handlebars.js 用 <br>替換掉 內容的換行符JS
- Bash技巧:把變數賦值為換行符,判斷檔案是否以換行符結尾變數賦值
- gvim中換行符(Enter鍵)的操作
- git 多平臺統一換行符Git
- PhpWord 如何輸出換行符到 word?PHP
- sed格式化excel的換行符Excel
- sed 取消檔案中的換行符
- 將檔案的行結束符由 CRLF 轉換為 LF
- oracle中去掉文字中的換行符、回車符、製表符Oracle
- 在Linux行內直接進行大小寫轉換Linux
- RxJava2.0 操作符(3)—— Filter 過濾轉換符RxJavaFilter
- SQL 列行轉換SQL
- 【轉】css樣式自動換行(強制換行)CSS
- Linux下轉換字符集(UTF8轉換)Linux
- Java在字串中新增或列印換行符Java字串
- 解析PHP處理換行符的問題PHP
- sqlldr 裝載換行符(使用str屬性)SQL