中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-12 13:50
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 如何替换文本文件中某些行内容,包括特殊字符和空行 查看 1,441 回复 7
楼 主 如何替换文本文件中某些行内容,包括特殊字符和空行 发表于 2009-05-04 05:36 ·  中国 上海 电信
新手上路
积分 10
发帖 10
注册 2009-04-01 23:00
17年会员
UID 141837
性别 男
状态 离线
比如我有一个文本文件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 ]
2 发表于 2009-05-04 05:39 ·  中国 北京 联通
银牌会员
★★★★
[b]看你妹啊[/b]
积分 1,488
发帖 1,357
注册 2006-05-20 12:00
20年会员
UID 55770
状态 离线
说的空行还是空格

有问题请发论坛或者自行搜索,再短消息问我的统统是SB
3 发表于 2009-05-04 07:05 ·  中国 上海 电信
新手上路
积分 10
发帖 10
注册 2009-04-01 23:00
17年会员
UID 141837
性别 男
状态 离线
a - dos bat.
like bat
加上下面那行空行,都替换成一句话
4 发表于 2009-05-04 09:06 ·  美国 新泽西州
新手上路
积分 10
发帖 10
注册 2009-04-01 23:00
17年会员
UID 141837
性别 男
状态 离线
对不起,说错了,应该是直接一个回车换行的,就是空的那行什么都没有的,等于把下面这个文本内容
This is a dos
a - dos bat.
like bat

output: ok
改成如下的样子
This is a dos
join us.
output: ok
5 发表于 2009-05-04 23:41 ·  中国 上海 电信
新手上路
积分 10
发帖 10
注册 2009-04-01 23:00
17年会员
UID 141837
性别 男
状态 离线
已经在论坛找到相关的例子,看到了如何替换某一行
http://www.cn-dos.net/forum/viewthread.php?tid=35759&fpage=1
但是如果要多行替换成一行呢?就是set string多次吗?
还有如果多行里面包括空行的话,如何替换呢?
6 发表于 2009-05-04 23:51 ·  中国 北京 联通
银牌会员
★★★★
[b]看你妹啊[/b]
积分 1,488
发帖 1,357
注册 2006-05-20 12:00
20年会员
UID 55770
状态 离线
一般用正则表达式查找替换工具处理比较好

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

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

有问题请发论坛或者自行搜索,再短消息问我的统统是SB
7 发表于 2009-05-04 23:57 ·  中国 上海 电信
新手上路
积分 10
发帖 10
注册 2009-04-01 23:00
17年会员
UID 141837
性别 男
状态 离线
谢谢!这个学习下,因为公司用的,不能用外部新加命令,如果不用这个,是否就只能用循环语句一个一个替换呢?
8 发表于 2009-10-22 20:38 ·  中国 江苏 南京 电信
初级用户
★★
积分 62
发帖 62
注册 2007-07-14 14:39
19年会员
UID 93962
性别 男
状态 离线
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 ]
论坛跳转: