中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 如何替换文本文件中某些行内容,包括特殊字符和空行
作者:
标题: 如何替换文本文件中某些行内容,包括特殊字符和空行 上一主题 | 下一主题
mailmail
新手上路





积分 10
发帖 10
注册 2009-4-1
状态 离线
『楼 主』:  如何替换文本文件中某些行内容,包括特殊字符和空行

比如我有一个文本文件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 ]

2009-5-4 05:36
查看资料  发短消息 网志   编辑帖子  回复  引用回复
yishanju
银牌会员

[b]看你妹啊[/b]


积分 1488
发帖 1357
注册 2006-5-20
状态 离线
『第 2 楼』:  

说的空行还是空格




有问题请发论坛或者自行搜索,再短消息问我的统统是SB
2009-5-4 05:39
查看资料  发短消息 网志   编辑帖子  回复  引用回复
mailmail
新手上路





积分 10
发帖 10
注册 2009-4-1
状态 离线
『第 3 楼』:  

a - dos bat.
like bat
加上下面那行空行,都替换成一句话

2009-5-4 07:05
查看资料  发短消息 网志   编辑帖子  回复  引用回复
mailmail
新手上路





积分 10
发帖 10
注册 2009-4-1
状态 离线
『第 4 楼』:  

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

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

2009-5-4 09:06
查看资料  发短消息 网志   编辑帖子  回复  引用回复
mailmail
新手上路





积分 10
发帖 10
注册 2009-4-1
状态 离线
『第 5 楼』:  

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

2009-5-4 23:41
查看资料  发短消息 网志   编辑帖子  回复  引用回复
yishanju
银牌会员

[b]看你妹啊[/b]


积分 1488
发帖 1357
注册 2006-5-20
状态 离线
『第 6 楼』:  

一般用正则表达式查找替换工具处理比较好

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

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




有问题请发论坛或者自行搜索,再短消息问我的统统是SB
2009-5-4 23:51
查看资料  发短消息 网志   编辑帖子  回复  引用回复
mailmail
新手上路





积分 10
发帖 10
注册 2009-4-1
状态 离线
『第 7 楼』:  

谢谢!这个学习下,因为公司用的,不能用外部新加命令,如果不用这个,是否就只能用循环语句一个一个替换呢?

2009-5-4 23:57
查看资料  发短消息 网志   编辑帖子  回复  引用回复
pkto
初级用户





积分 62
发帖 62
注册 2007-7-14
状态 离线
『第 8 楼』:  



  Quote:
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 ]

2009-10-22 20:38
查看资料  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: