Board logo

标题: [求助]如何删除一个文件中指定行数的行内容 [打印本页]

作者: zhaxi     时间: 2006-7-7 12:48    标题: [求助]如何删除一个文件中指定行数的行内容

由于在mail.txt中有很多行重复的mail地址要删除掉。
这些要删除的行数位于DID.txt里,内容如下:

22
34
46
50
..
1230
1300
...


应该如何实现呢?晚上我把我的垃圾代码粘上来。但执行不成功。
作者: wydos     时间: 2006-7-7 18:03
findstr /l /v /c:@ mail.txt >>mail1.txt
作者: 无奈何     时间: 2006-7-8 16:23
你的问题可以试试下面的代码:

  Quote:
@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 处理速度比较理想。
代码如下:
CODE:  [Copy to clipboard]
gawk "!a[$0]++" mail.txt
gawk下载地址:        http://www.klabaster.com/progs/gawk32.zip




欢迎光临 中国DOS联盟论坛 (http://cndos.fam.cx/forum/) Powered by Discuz! 2.5