中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-06 01:57
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 如何才能对一个文本文件进行多字符串的同时替换! 查看 1,009 回复 2
楼 主 如何才能对一个文本文件进行多字符串的同时替换! 发表于 2007-10-11 21:44 ·  中国 河南 郑州 联通
初级用户
积分 63
发帖 25
注册 2007-10-11 21:21
18年会员
UID 99482
性别 男
状态 离线
众所周知,windows的“文本”程序本身就有一个对文本文件某字符进行全部替换的功能,但是这不足之处是一次只能一个字符进行替换!
小弟我有一个超级大的文本文件,需要替换中间的一些内容,但是要替换的字符串有好几千个!如果要一个一个的替换的话,如何费力是可想而知的!
于是我在网上找了很长时间,但是没有一个提供这类功能的软件!
最后我想到了批处理可能能解决这一问题,但无奈我水平有限,没有这编写的能力!所以希望那位高人能帮忙一下!小弟我先谢过了!
我的思路是这样的:
先把要替换的字符预先整理到一个文本中,(这是我自己人工整理)再让批处理依次提取这文本中的每一行,并全部替换删除掉目标文本中相应的字符串!(我只需要把符合的字符删除掉,就可以了,不需要替换成其他字符!当然啦,批处理有注解那就更好了!)
2 发表于 2007-10-11 22:53 ·  中国 浙江 杭州 电信
初级用户
积分 76
发帖 29
注册 2007-10-02 02:39
18年会员
UID 98748
性别 男
状态 离线
echo off
type test.txt>>temp1.txt
for /f %%a in (keyword.txt) do (
sed "s/%%a//g" temp1.txt |more>temp2.txt
del /q temp1.txt
ren temp2.txt temp1.txt
)
pause



在论坛搜索并下载SED工具

[ Last edited by guixi on 2007-10-11 at 10:54 PM ]
本帖最近评分记录 (共 1 条) 点击查看详情
评分人分数时间
kdfk123 +1 2007-10-12 21:52
3 发表于 2007-10-12 21:54 ·  中国 河南 郑州 联通
初级用户
积分 63
发帖 25
注册 2007-10-11 21:21
18年会员
UID 99482
性别 男
状态 离线
谢谢,高人啊!我先试试先!
论坛跳转: