您好,登錄后才能下訂單哦!
這篇文章主要介紹了如何刪除DOS結尾符,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
DOS結尾符:CRLF Carriage-Return Line-Feed
# 檢查文件是否含有CRLF
1. file dosfile
返回CRLF
2. cat -a dosfile
返回^M
# 刪除CRLF
1. vim
:set fileformat=unix # :set ff=unix
:w
:s/^M//gc # Linux: Ctrl+V+M Enter, AIX: Ctrl+V Ctrl+^ Enter
:w
2. dos2uninx dosfile
3. col -bx dosfile
4. sed -e 's/^M//' dosfile
5. tr
tr -s "\r\n" "\n" dosfile
tr -d "\r" dosfile
6. cat dosfile | perl -pe '~s//r//g'
用dos的copy命令合并文件(如何消除結尾的1A結束符) .
最近公司Tenfore FeedHandler項目分割存儲了大量的RawData文件。由于TenforeRawData非常大, 因此存儲策略是每一小時存儲一個rawdata文件。但在進行數據分析回放時,又希望將它們合并成一個大文件。剛開始是想到網上找一個第三方合并工具,后一想,dos的copy命令不是可以合并文件嗎? 馬上試一下!
例如,希望將a.dat和b.dat合并成c.dat。其中,a.dat二進制內容如下“30 78 30 31 30 78 30 32”,b.dat二進制內容如下“30 78 30 33 30 78 30 34”,寫了個dos腳本merge.bat,內容如下:"copy a.dat+b.dat c.dat"。
但新生成的c.dat文件最后多了個結束符"1A",c.dat文件內容如下“30 78 30 31 30 78 30 32 30 78 30 33 30 78 30 34 1A”。
后上網查找了一下原因,是由于copy命令默認是將目標文件和源文件均視為文本文件,因此新生成的文件帶上了文本結束符"1A"。
解決的辦法很簡單,就是在拷貝時指明是拷貝二進制文件。
新的批處理內容如下:"copy /b a.dat+b.dat c.dat"
感謝你能夠認真閱讀完這篇文章,希望小編分享的“如何刪除DOS結尾符”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。