中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-01 20:20
48,037 主题排行 / 350,122 发帖 / 今日 2 篇 / 48,249 会员排行
DOS批处理 & 脚本技术(批处理室) » [求助]如何删除一个文件中指定行数的行内容
可打印版本  1,129 / 2
第1楼 zhaxi 发表于 2006-07-07 12:48
初级用户 发帖 40 积分 112
[求助]如何删除一个文件中指定行数的行内容
由于在mail.txt中有很多行重复的mail地址要删除掉。
这些要删除的行数位于DID.txt里,内容如下:

22
34
46
50
..
1230
1300
...


应该如何实现呢?晚上我把我的垃圾代码粘上来。但执行不成功。
第2楼 wydos 发表于 2006-07-07 18:03
中级用户 发帖 117 积分 304
findstr /l /v /c:@ mail.txt >>mail1.txt
第3楼 无奈何 发表于 2006-07-08 16:23
荣誉版主 发帖 356 积分 1,338
你的问题可以试试下面的代码:

@echo off
for /f "tokens=1,2* delims=:" %%a in ('findstr /n "." mail.txt') do (
findstr /x "%%a" DID.txt >null ||echo.%%b
)
无奈何贴于 2006-07-08 16:09


问题是文本太大时代码执行效率比较低、速度比较慢,如果你只是单纯的去除重复的行,推荐用 AWK 处理速度比较理想。
代码如下:

gawk下载地址: http://www.klabaster.com/progs/gawk32.zip
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023