中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-06 22:28
48,039 主题排行 / 350,124 发帖 / 今日 0 篇 / 48,252 会员排行
DOS批处理 & 脚本技术(批处理室) » [已解决]关于有特殊字符的文本对比如何只输出不现处
可打印版本  800 / 10
第1楼 luckywlx 发表于 2007-12-16 14:41
新手上路 发帖 9 积分 14
[已解决]关于有特殊字符的文本对比如何只输出不现处
由于我的原文件是有殊字符,结果一直显示出错,
别外对比文件比较大,速度很慢,不知是否有解决办法。

付上原文件
old.txt(内容)
lucky_01@163.com"okgo_01
lucky_02@163.com"okgo02-
lucky_03@163.com"okgo*03
lucky_04@163.com"okgo04(

new.txt(内容)
lucky_04@163.com"okgo04(
lucky_01@163.com"okgo_01
lucky_03@163.com"okgo*03
lucky_05@163.com"okgo05
lucky_02@163.com"okgo02-

以上2个文件只有“lucky_05@163.com"okgo05”这个字符串是不一样的
如果得到并输出它?

OK.txt(内容)
lucky_05@163.com"okgo05



以下为原内容

A.txt(内容)

AAA
222
111
333


B.txt(内容)

BBB
111
333
AAA
222

以上2个文件只有“BBB”这个字符串是不一样的
如果得到并输出它?

C.txt(内容)
BBB


[ Last edited by luckywlx on 2007-12-19 at 01:09 PM ]
第2楼 zh159 发表于 2007-12-16 15:03
金牌会员 发帖 1,467 积分 3,687
之前看过一位DX的命令:

注:最后一行必须换行为空行,否则和最后一行会出错
第3楼 luckywlx 发表于 2007-12-16 15:07
新手上路 发帖 9 积分 14
谢谢楼上的,我找了一个大大的代码改的,也可以哦
@echo off
cd.>ok.txt
for /f "tokens=*" %%i in (new.txt) do (
find "%%i" old.txt || >>ok.txt echo %%i
)
start ok.txt
第4楼 luckywlx 发表于 2007-12-16 15:47
新手上路 发帖 9 积分 14
由于我的原文件是有特特殊字符,结果一直显示出错,
别外对比文件比较大,速度很慢,不知是否有解决办法。

付上原文件
old.txt(内容)
lucky_01@163.com"okgo_01
lucky_02@163.com"okgo02-
lucky_03@163.com"okgo*03
lucky_04@163.com"okgo04(

new.txt(内容)
lucky_04@163.com"okgo04(
lucky_01@163.com"okgo_01
lucky_03@163.com"okgo*03
lucky_05@163.com"okgo05
lucky_02@163.com"okgo02-

以上2个文件只有“lucky_05@163.com"okgo05”这个字符串是不一样的
如果得到并输出它?

OK.txt(内容)
lucky_05@163.com"okgo05
第5楼 luckywlx 发表于 2007-12-16 17:50
新手上路 发帖 9 积分 14
顶一下,请大大帮忙
第6楼 lxmxn 发表于 2007-12-16 20:44
版主 发帖 4,938 积分 11,386
第7楼 luckywlx 发表于 2007-12-17 09:23
新手上路 发帖 9 积分 14
谢谢版主回答,但试了无用?
第8楼 lxmxn 发表于 2007-12-17 11:28
版主 发帖 4,938 积分 11,386
TO luckywlx:

你没有gawk这个外部工具吧?

网上搜索下载一个。
第9楼 luckywlx 发表于 2007-12-18 17:19
新手上路 发帖 9 积分 14
谢谢版版,下载后,的确可以,感谢
别外gawk可以去重复行吗
第10楼 lxmxn 发表于 2007-12-18 19:03
版主 发帖 4,938 积分 11,386
可以。

Gawk "!a[$0]++" urfile
第11楼 luckywlx 发表于 2007-12-18 19:46
新手上路 发帖 9 积分 14
Gawk "!a++" ok.txt
只能显示结果,如何直接写入ok.txt

我试了
Gawk "!a++" ok.txt > oknew.txt可以成功

再次麻烦版主一下

[ Last edited by luckywlx on 2007-12-18 at 07:47 PM ]
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023