源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

删除DOS结尾符的方法

  • 时间:2022-02-01 15:27 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:删除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"
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部