温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何删除DOS结尾符

发布时间:2021-10-08 14:25:00 来源:亿速云 阅读:102 作者:小新 栏目:开发技术

这篇文章主要介绍了如何删除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结尾符”这篇文章对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,更多相关知识等着你来学习!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

dos
AI