Board logo

标题: 如何替换文本文件中某些行内容,包括特殊字符和空行 [打印本页]

作者: mailmail     时间: 2009-5-4 05:36    标题: 如何替换文本文件中某些行内容,包括特殊字符和空行
比如我有一个文本文件a.txt在的d:\ad\下,内容如下
This is a dos
a - dos bat.
like bat

output: ok
现在要把2、3行和第4行的空行替换成join us. 如何来处理呢?谢谢!!

Last edited by mailmail on 2009-5-4 at 23:41 ]

作者: yishanju     时间: 2009-5-4 05:39
说的空行还是空格

作者: mailmail     时间: 2009-5-4 07:05
a - dos bat.
like bat
加上下面那行空行,都替换成一句话

作者: mailmail     时间: 2009-5-4 09:06
对不起,说错了,应该是直接一个回车换行的,就是空的那行什么都没有的,等于把下面这个文本内容
This is a dos
a - dos bat.
like bat

output: ok
改成如下的样子
This is a dos
join us.
output: ok

作者: mailmail     时间: 2009-5-4 23:41
已经在论坛找到相关的例子,看到了如何替换某一行
http://www.cn-dos.net/forum/viewthread.php?tid=35759&fpage=1
但是如果要多行替换成一行呢?就是set string多次吗?
还有如果多行里面包括空行的话,如何替换呢?

作者: yishanju     时间: 2009-5-4 23:51
一般用正则表达式查找替换工具处理比较好

fr -rnnlic:"like bat\r\n\r\n" -t:"join us\." a.txt

FR 下载:
http://baiy.cn/utils/fr/index.htm

作者: mailmail     时间: 2009-5-4 23:57
谢谢!这个学习下,因为公司用的,不能用外部新加命令,如果不用这个,是否就只能用循环语句一个一个替换呢?

作者: pkto     时间: 2009-10-22 20:38
Originally posted by yishanju at 2009-5-4 11:51 PM:
一般用正则表达式查找替换工具处理比较好

fr -rnnlic:"like bat\r\n\r\n" -t:"join us\." a.txt

FR 下载:
http://baiy.cn/utils/fr/index.htm


这个也是有问题的,不能够循环处理。如果like bat在空行的后面,就无法找到like bat字段并进行处理。

还有,看来依山居兄对fr的正则表达式十分的精通,为什么不开个专版,专门阐述一下呢?偶看了白扬的网址,里面只是规则,但很缺乏实例解说,让初学者很是迷茫啊!

Last edited by pkto on 2009-10-22 at 20:40 ]