删除DOS结尾符的方法

2014-10-12  来源:本站原创  分类:DOS/BAT  人气:1 

有时候我们需要去掉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结尾符的方法 2014-10-12

    有时候我们需要去掉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.

  • C#删除最后一个结尾逗号的方法 2014-07-07

    这篇文章主要介绍了C#删除最后一个结尾逗号的方法,涉及C#.操作字符串的技巧,简单实用,非常具有实用价值,需要的朋友可以参考下 本文实例讲述了C#删除最后一个结尾逗号的方法.分享给大家供大家参考.具体实现方法如下: C#开发过程中经常会用逗号将数组或者列表中的字符串进行连接,这样往往最后会多一个逗号,这个函数用于去除最后的那个逗号,很简单. /// <summary> /// 删除最后结尾的一个逗号 /// </summary> public static string DelLa

  • python实现删除文件与目录的方法 2014-05-28

    这篇文章主要介绍了python实现删除文件与目录的方法,详细的分析了涉及Python文件操作的各种方法,需要的朋友可以参考下 本文实例讲述了python实现删除文件与目录的方法.分享给大家供大家参考.具体实现方法如下: os.remove(path)删除文件 path. 如果path是一个目录, 抛出 OSError错误.如果要删除目录,请使用rmdir(). remove() 同 unlink() 的功能是一样的 在Windows系统中,删除一个正在使用的文件,将抛出异常.在Unix中,目录表

  • go语言获取系统盘符的方法 2013-10-16

    这篇文章主要介绍了go语言获取系统盘符的方法,涉及Go语言调用winapi获取系统硬件信息的技巧,具有一定参考借鉴价值,需要的朋友可以参考下 本文实例讲述了go语言获取系统盘符的方法.分享给大家供大家参考.具体如下: 涉及golang调用winapi获取系统盘符的技巧.代码如下: // cs project main.go package main import ( "fmt" . "strconv" "syscall" ) func GetLo

  • mongodb replica set 添加删除节点的2种方法 2013-10-25

    replica set多服务器主从,添加,删除节点,肯定会经常遇到的.下面详细说明一下,添加,删除节点的2种方法. 一,利用rs.reconfig,来添加,删除节点 1,添加节点 repmore:PRIMARY> config = {_id:"repmore",members:[{_id:0,host:'127.0.0.1:27017',priority :2},{_id:1,host:'127.0.0.1:27018',priority:1}]}; //添加节点 repmore

  • Powershell中获取所有磁盘盘符的方法 2013-10-28

    这篇文章主要介绍了Powershell中获取所有磁盘盘符的方法,本文直接给出实现代码,需要的朋友可以参考下 快速获取当前电脑所有磁盘: #requires -Version 1 [Environment]::GetLogicalDrives() 结果如下: 复制代码 代码如下: PS> C:\ D:\ E:\ F:\ G:\

  • 浅析删除表的几种方法(delete.drop.truncate) 2013-12-16

    这篇文章主要介绍了删除表的几种方法,需要的朋友可以参考下 delete from 表名: 删除所有记录,表结构还在,写日志,可以恢复的,速度慢 drop talbe 表名: 删除表的结构和数据 truncate talbe 表名 删除表中的所有记录,表结构还在,不写日志,无法找回删除的记录,速度快

  • javascript动态添加.修改.删除对象的属性与方法详解 2013-12-21

    本篇文章主要是对javascript动态添加.修改.删除对象的属性与方法进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助 现在介绍如何为一个对象添加.修改或者删除属性和方法.在其他语言中,对象一旦生成,就不可更改了,要为一个对象添加修改成员必须要在对应的类中修改,并重新实例化,而且程序必须经过重新编译.JavaScript 中却非如此,它提供了灵活的机制来修改对象的行为,可以动态添加.修改.删除属性和方法.例如首先使用类Object来创建一个空对象user: var user=new O

  • ASP下批量删除数据的两种方法 2014-01-09

    ASP下批量删除数据的两种方法,里面也有删除附件的功能. 方法一: id=request.form("checkbox") id=Split(id,",") shu=0 for i=0 to UBound(id) sql="select * from jiang_fname where id="&id(i) set rs=conn.execute(sql) if not rs.eof then delete_file(rs("f

  • CodeIgniter删除和设置Cookie的方法 2014-02-16

    这篇文章主要介绍了CodeIgniter删除和设置Cookie的方法,涉及CodeIgniter操作cookie的技巧,非常具有实用价值,需要的朋友可以参考下 本文实例讲述了CodeIgniter删除和设置Cookie的方法.分享给大家供大家参考.具体如下: $cookie = array( 'name' => 'loggedin', 'value' => 'yes', 'expire' => '86500', 'domain' => '.apol0829.dev', 'prefi

  • php批量删除cookie的简单实现方法 2014-03-19

    这篇文章主要介绍了php批量删除cookie的简单实现方法,实例分析了删除单个cookie及数组遍历的方式批量删除cookie的技巧与相关注意事项,需要的朋友可以参考下 本文实例讲述了php批量删除cookie的简单实现方法.分享给大家供大家参考.具体实现方法如下: <?php //删除单个cookie:键值设置为空.时间设置为过期了的时间 setCookie("name","",time()-60); //删除多个cookie,采用遍历数组方式 foreac

  • PHP删除数组中空值的方法介绍 2014-04-19

    这篇文章主要介绍了PHP删除数组中空值的方法介绍,需要的朋友可以参考下 说来惭愧,以前在去掉数组的空值是都是强写foreach或者while的,利用这两个语法结构来删除数组中的空元素,简单代码如下: <?php foreach( $arr as $k=>$v){ if( !$v ) unset( $arr[$k] ); } ?> 而且自我感觉还挺不错,只是这样的效率并不高也曾经试过,先将$arr转为对象,然后利用对象的特性来删除,因为:foreach是将当前操作的数组进行copy,每操作

  • JS实现的4种数字千位符格式化方法分享 2014-05-30

    这篇文章主要介绍了JS实现的4种数字千位符格式化方法分享,本文给出了4种千分位格式化方法并对它们的性能做了比较,需要的朋友可以参考下 所谓的数字千分位形式,即从个位数起,每三位之间加一个逗号.例如"10,000".针对这个需求,我起初写了这样一个函数: // 方法一 function toThousands(num) { var result = [ ], counter = 0; num = (num || 0).toString().split(''); for (var i =

  • php+mysqli预处理技术实现添加.修改及删除多条数据的方法 2014-06-10

    这篇文章主要介绍了php+mysqli预处理技术实现添加.修改及删除多条数据的方法,实例分析了mysqli实现预处理的原理及使用技巧,可有效提高程序运行效率,非常具有实用价值,需要的朋友可以参考下 本文实例讲述了php+mysqli预处理技术实现添加.修改及删除多条数据的方法.分享给大家供大家参考.具体分析如下: 首先来说说为什么要有预处理(预编译)技术?举个例子:假设要向数据库添加100个用户,按常规思路,就是向数据库发送100个执行请求,此时,按照 mysql 数据库的工作原理,它需要对每一

  • 删除MySQL重复数据的方法 2014-07-15

    这篇文章主要介绍了删除MySQL重复数据的方法,通过建立中间表实现针对冗余数据的删除功能,非常具有实用价值,需要的朋友可以参考下 本文实例讲述了删除MySQL重复数据的方法.分享给大家供大家参考.具体方法如下: 项目背景 在最近做的一个linux性能采集项目中,发现线程的程序入库很慢,再仔细定位,发现数据库里面很多冗余数据.因为在采集中,对于同一台设备,同一个时间点应该只有一个数据,然而,数据库中存入了多个数据.对于如何造成了这个结果,一时没有想清楚,但为了解决入库慢的问题,首先要删除冗余数据.

  • SQL 查询和删除重复字段数据的方法 2014-07-29

    这篇文章介绍了SQL 查询和删除重复字段数据的方法,有需要的朋友可以参考一下 例如: id name value 1 a pp 2 a pp 3 b iii 4 b pp 5 b pp 6 c pp 7 c pp 8 c iii id是主键 要求得到这样的结果 id name value 1 a pp 3 b iii 4 b pp 6 c pp 8 c iii 方法1 delete YourTable where [id] not in ( select max([id]) from YourT

  • JavaScript从数组中删除指定值元素的方法 2014-09-01

    这篇文章主要介绍了JavaScript从数组中删除指定值元素的方法,实例分析了两种常用的javascript操作数组指定元素的技巧,具有一定参考借鉴价值,需要的朋友可以参考下 本文实例讲述了JavaScript从数组中删除指定值元素的方法.分享给大家供大家参考.具体分析如下: 下面的代码使用了两种方式删除数组的元素,第一种定义一个单独的函数,第二种为Array对象定义了一个removeByValue的方法,调用非常简单 定义函数removeByValue进行元素删除 function remov

  • Asp Split函数之使用多个分割符的方法 2014-09-28

    有时候用户输入的分隔符种类比较多,支持逗号也想要支持空格等等,其实原来就是先统一为一中分隔符再使用split进行分割就可以了 首先,我在知道Split这个函数的作用,是把一个字符串按指定的分割符分割成一个字符串数组. ASP里有这个Split,是这样定义的dim Split(byval source as string ,byval str as string) as string() source是源字符串,str是分隔符 我这里用了VB.net的写法,方便说明返回值的类型和参数的类型. 大家

  • javascript删除option选项的多种方法总结 2014-11-28

    这篇文章主要是对javascript删除option选项的多种方法进行了详细的总结介绍,需要的朋友可以过来参考下,希望对大家有所帮助 1. JavaScript var oSel=document.form1.DropDownCity; while(oSel.options.length>0){ oSel.removeChild(oSel.options[0]); } 2. JavaScript 复制代码 代码如下: <SCRIPT LANGUAGE="JavaScript"

  • SQL 级联删除与级联更新的方法 2014-12-08

    SQL 级联删除与级联更新的方法,需要的朋友可以参考一下 on delete cascade 当你更新或删除主键表时,那么外键表也会跟随一起更新或删除,需要在建表时设置级联属性 CREATE TABLE Countries(CountryId INT PRIMARY KEY) INSERT INTO Countries (CountryId) VALUES (1) INSERT INTO Countries (CountryId) VALUES (2) INSERT INTO Countries