window Linux 文字檔案轉換

2022-09-16 18:06:13 字數 1006 閱讀 2864

在linux下使用vi來檢視一些windows下建立的文字檔案時,有時會發現在每一行尾部有^m字元,是因為在windows下換行使用crlf兩個字元來表示,其中cr為回車(ascii=0x0d),lf為換行(ascii=0x0a),而在linux下使用lf乙個字元來表示。

使用tr命令拷貝標準輸入到標準輸出,替換或者刪除掉選擇的字元,只能把dos轉換為unix檔案,命令如下:

tr -d 『\r』< dosfile.txt > unixfile.txt
vim是乙個vi的改進版本,可以執行在windows和linux平台上,使用方法如下:

vim dosfile.txt

dos轉unix:set fileformat=unix

unix轉dos:set fileformat=dos

:wq

如果你需要把unix文字檔案轉換為dos文字檔案,輸入:set fileformat=dos,你也可以使用ff來替代fileformat,此時可以輸入:set ff=dos。你可以輸入:help fileformat來獲得跟多的關於選項資訊。

set fileformats=dos,unix
設定完成後,使用vim開啟dos文字檔案就不會顯示^m字元了。

perl是相當直接,你新增或刪除掉檔案每行結尾的cr字元。

dos轉unix:

perl -p -e 『s/\r$//』< dosfile.txt > unixfile.txt
unix轉dos:

perl -p -e 『s/$/\r/』< unixfile.txt > dosfile.txt
對於大型的檔案,推薦使用perl工具;

一般情況就用tr命令;如果要unix轉dos就用vim;

讀取文字檔案

void ctestdlg onreadinfo cfile filewrite1 testwrite1.txt cfile modecreate cfile modewrite cfile filewrite2 testwrite2.txt cfile modecreate cfile modew...

寫文字檔案

textoper 文字檔案操作類 public class textoper 新建乙個檔案 public bool createfile string strpath,string strname else file.create strpath strname return true catch ...

文字檔案操作

1 文字檔案的寫入 建立檔案流 filestream filestream new filestream c myfile file.txt filemode.create 建立寫入器 streamwriter sw new streamwriter filestream 以流的方式寫入資料 sw....