标题: [已解决]关于有特殊字符的文本对比如何只输出不现处
[打印本页]
作者: luckywlx
时间: 2007-12-16 14:41
标题: [已解决]关于有特殊字符的文本对比如何只输出不现处
由于我的原文件是有殊字符,结果一直显示出错,
别外对比文件比较大,速度很慢,不知是否有解决办法。
付上原文件
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
以下为原内容
Quote: |
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 ]
作者: zh159
时间: 2007-12-16 15:03
之前看过一位DX的命令:
findstr /xvg:a.txt b.txt>>c.txt
注:最后一行必须换行为空行,否则和最后一行会出错
作者: luckywlx
时间: 2007-12-16 15:07
谢谢楼上的,我找了一个大大的代码改的,也可以哦
Quote: |
@echo off
cd.>ok.txt
for /f "tokens=*" %%i in (new.txt) do (
find "%%i" old.txt || >>ok.txt echo %%i
)
start ok.txt |
|
作者: luckywlx
时间: 2007-12-16 15:47
由于我的原文件是有特特殊字符,结果一直显示出错,
别外对比文件比较大,速度很慢,不知是否有解决办法。
付上原文件
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
作者: luckywlx
时间: 2007-12-16 17:50
顶一下,请大大帮忙
作者: lxmxn
时间: 2007-12-16 20:44
gawk "NR==FNR{a[$0]=$0};NR!=FNR{if(!($0 in a))print $0}" old.txt new.txt > OK.txt
作者: luckywlx
时间: 2007-12-17 09:23
谢谢版主回答,但试了无用?
作者: lxmxn
时间: 2007-12-17 11:28
TO luckywlx:
你没有gawk这个外部工具吧?
网上搜索下载一个。
作者: luckywlx
时间: 2007-12-18 17:19
谢谢版版,下载后,的确可以,感谢
别外gawk可以去重复行吗
作者: lxmxn
时间: 2007-12-18 19:03
可以。
Gawk "!a[$0]++" urfile
作者: luckywlx
时间: 2007-12-18 19:46
Gawk "!a[$0]++" ok.txt
只能显示结果,如何直接写入ok.txt
我试了
Gawk "!a[$0]++" ok.txt > oknew.txt可以成功
再次麻烦版主一下
[
Last edited by luckywlx on 2007-12-18 at 07:47 PM ]