中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-06 02:59
48,039 主题排行 / 350,124 发帖 / 今日 2 篇 / 48,251 会员排行
DOS批处理 & 脚本技术(批处理室) » 如何才能对一个文本文件进行多字符串的同时替换!
可打印版本  1,011 / 2
第1楼 kdfk123 发表于 2007-10-11 21:44
初级用户 发帖 25 积分 63
如何才能对一个文本文件进行多字符串的同时替换!
众所周知,windows的“文本”程序本身就有一个对文本文件某字符进行全部替换的功能,但是这不足之处是一次只能一个字符进行替换!
小弟我有一个超级大的文本文件,需要替换中间的一些内容,但是要替换的字符串有好几千个!如果要一个一个的替换的话,如何费力是可想而知的!
于是我在网上找了很长时间,但是没有一个提供这类功能的软件!
最后我想到了批处理可能能解决这一问题,但无奈我水平有限,没有这编写的能力!所以希望那位高人能帮忙一下!小弟我先谢过了!
我的思路是这样的:
先把要替换的字符预先整理到一个文本中,(这是我自己人工整理)再让批处理依次提取这文本中的每一行,并全部替换删除掉目标文本中相应的字符串!(我只需要把符合的字符删除掉,就可以了,不需要替换成其他字符!当然啦,批处理有注解那就更好了!)
第2楼 guixi 发表于 2007-10-11 22:53
初级用户 发帖 29 积分 76
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 ]
第3楼 kdfk123 发表于 2007-10-12 21:54
初级用户 发帖 25 积分 63
谢谢,高人啊!我先试试先!
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023