0514-86177077
9:00-17:00(工作日)
DOS結(jié)尾符: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命令合并文件(如何消除結(jié)尾的1A結(jié)束符) .
最近公司Tenfore FeedHandler項目分割存儲了大量的RawData文件。由于TenforeRawData非常大, 因此存儲策略是每一小時存儲一個rawdata文件。但在進行數(shù)據(jù)分析回放時,又希望將它們合并成一個大文件。剛開始是想到網(wǎng)上找一個第三方合并工具,后一想,dos的copy命令不是可以合并文件嗎? 馬上試一下!例如,希望將a.dat和b.dat合并成c.dat。其中,a.dat二進制內(nèi)容如下“30 78 30 31 30 78 30 32”,b.dat二進制內(nèi)容如下“30 78 30 33 30 78 30 34”,寫了個dos腳本merge.bat,內(nèi)容如下:"copy a.dat+b.dat c.dat"。但新生成的c.dat文件最后多了個結(jié)束符"1A",c.dat文件內(nèi)容如下“30 78 30 31 30 78 30 32 30 78 30 33 30 78 30 34 1A”。后上網(wǎng)查找了一下原因,是由于copy命令默認是將目標文件和源文件均視為文本文件,因此新生成的文件帶上了文本結(jié)束符"1A"。解決的辦法很簡單,就是在拷貝時指明是拷貝二進制文件。新的批處理內(nèi)容如下:"copy /b a.dat+b.dat c.dat"
標簽:株洲 蕪湖 江西 三門峽 臺州 白銀 公主嶺 樂山
上一篇:Dos下獲取系統(tǒng)時間的代碼
下一篇:Dos常用基礎(chǔ)命令小結(jié)
Copyright ? 1999-2012 誠信 合法 規(guī)范的巨人網(wǎng)絡(luò)通訊始建于2005年
蘇ICP備15040257號-8