在文本文件中查找新行字符并使用Windows批处理脚本清除它

时间:2014-07-08 05:33:57

标签: batch-file window

我需要Windows批处理脚本才能在文件中找到不正确的“换行符”并删除它。在实践中,文件大小很大,并且有多行具有这样的“NewLine”字符。因此编辑是有问题的。此外,如果我使用记事本进行编辑,并且Wordwrap功能为ON,则会产生更多的NewLine字符。截至目前,我正在通过Textpad applciation进行此操作,但这也是一种手动解决方法,并且容易出错。 因此,如果可以通过Windows批处理脚本完成此操作,我想征求您的意见。

=====

示例文本

1,2,3,

4,5,6,

7,8

9,

10,11,

12,

13,14,15,

16,17,

18,

19,20,21,

22,23,24,

=====

期望输出

1,2,3,

4,5,6,

7,8,9,

10,11,12,

13,14,15,

16,17,18,

19,20,21,

22,23,24,

如果我混合匹配字符和数字,脚本不起作用。实际上,输入文件将是来自数据库的csv提取,它可以在每个列中用逗号分隔数据类型,如Varchar2,Number,Float等。在这种情况下如何使用该脚本。

样本2

123,ABC,造血干细胞,456,ADF ,,

321,CBA,hcdfs,4321,WQE,12,

213,BAC

HFC,145,quf,134

457,DSXA,

dfcx,4567,hgp​​l,786,

879,CXD,YHT,684,ytre ,,

期望输出

123,ABC,造血干细胞,456,ADF ,,

321,CBA,hcdfs,4321,WQE,12,

213,BAC,HFC,145,quf,134

457,DSXA,dfcx,4567,hgp​​l,786,

879,CXD,YHT,684,ytre ,,

由于

1 个答案:

答案 0 :(得分:0)

这样的文件格式:

1,2,3,
4,5,6,
7,8,
9,
10,11,
12,
13,14,15,
16,17,
18,
19,20,21,
22,23,24,

将成为这个:

1,2,3,
4,5,6,
7,8,9,
10,11,12,
13,14,15,
16,17,18,
19,20,21,
22,23,24,

使用此代码:

type "file.txt" |repl "(^[0-9]*,[0-9]*,)\r\n" "$1" mx >"newfile.txt"

上面的代码使用名为repl.bat的助手批处理文件(dbenham) - 从https://www.dropbox.com/s/qidqwztmetbvklt/repl.bat下载

repl.bat放在与批处理文件相同的文件夹中或放在路径上的文件夹中。

与普通批处理相比,

repl.bat在大型文件上非常强大且非常快。