中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [求助]如何从QQ2009的Info.db中将号码提取出来(已解决)
« [1] [2] [3] »
作者:
标题: [求助]如何从QQ2009的Info.db中将号码提取出来(已解决) 上一主题 | 下一主题
Hanyeguxing
银牌会员

正在学习中的菜鸟...


积分 1039
发帖 897
注册 2009-3-1
来自 在地狱中仰望天堂
状态 离线
『楼 主』:  [求助]如何从QQ2009的Info.db中将号码提取出来(已解决)

上传的QQ2009信息info.db文件 http://upload.cn-dos.net/img/1348.rar

例如有如下的乱码:

  Quote:
涳艛?忌:J垟麳]CF  K-婣硵艛?忌:鉁s?殸⑽矎?
                                    NF     
               515187266   9TD  傢ろ
04                 435853964   -TD 傘18娿
                    ?                    
  5? o欙L(     }   ~搁搁块€8362-406
務蠚崄u39E拞r           515187266   >TD 
ffffTA   ?{-%/%//>PWf@=Oφ≌οη∠┫

要求:分行显示数字串。
1,由于QQ号码与乱码中的数字可能因为直接过滤其他字符而导致过滤后QQ号码与乱码中的数字连在一起而无法分辨,所以 个人认为应该使用替换。
2,因为乱码存在类似8362-406的数字串,所以在过滤时不能过滤掉-
3,由于该乱码中存在数字,所以少于5位的连续数字串要求被删除。
4,因为乱码存在类似8362-406的数字串,这些不是QQ号码,删除中间含有-的数字串。
5,删除重复的数字串

提取QQ号码后的示例效果如下:

  Quote:
435853964
515187266



  Quote:
Originally posted by HAT at 2009-3-4 05:37:
[code]@echo off
echo 处理中,请稍等几分钟...
sed "s/[^0-9]/\n/g" Info.db>%temp%\a.txt
findstr ^[0-9][0-9][0-9][0-9][0-9]*[0-9]$ %temp%\a.txt>%temp%\b.txt
sort %temp%\b.txt>%temp%\c.txt
type nul>%temp%\d.txt
for /f "delims=" %%a in (%temp%\c.txt) do (
  findstr /x /c:"%%a" %temp%\d.txt>nul 2>nul||echo.%%a>>%temp%\d.txt
)
start %temp%\d.txt

[ Last edited by Hanyeguxing on 2009-6-6 at 01:52 ]

2009-3-2 10:29
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
yishanju
银牌会员

[b]看你妹啊[/b]


积分 1488
发帖 1357
注册 2006-5-20
状态 离线
『第 2 楼』:  

真4想要玩死人不是

用FR 工具替换就一句命令

fr -ric:"[^\r\n0-9]" -t:"A" 1.txt

得到像下面的结果
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAA515187266AAA9AAAAAAAAAAAAAAA
04AAAAAAAAAAAAAAAAAAA435853964AAAAAAAAAAAAAA18AA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAA5AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAA39AAAAAAAAAAAAAAAAA515187266AAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
[ Last edited by yishanju on 2009-3-2 at 19:52 ]

   此帖被 +1 点积分    点击查看详情   
评分人:【 Hanyeguxing 分数: +1  时间:2009-3-3 12:44





有问题请发论坛或者自行搜索,再短消息问我的统统是SB
2009-3-2 19:49
查看资料  发短消息 网志   编辑帖子  回复  引用回复
yishanju
银牌会员

[b]看你妹啊[/b]


积分 1488
发帖 1357
注册 2006-5-20
状态 离线
『第 3 楼』:  

改一下,空格,[TAB]不替换成A

fr -ric:"[^ \t\r\n0-9]" -t:"A" 1.txt

结果如下:
AAAAAAAAAAAAAAAAA  AAAAAAAAAAAAAAAAAAAAAAAA
                                    AAAAA  A   
  A             515187266   9AAAAA AA AAAAAA
04A   A              435853964   AAAAAA AAAA18AA
                    AAA                    
A  A5AAA AAAAAAA   A AA A   AAAAAAAAAAAAAAAA
AAAAAAA39AAAAAA           515187266   AAAAAA AA
AAAAAAAAAAAAA   AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
[ Last edited by yishanju on 2009-3-2 at 20:40 ]




有问题请发论坛或者自行搜索,再短消息问我的统统是SB
2009-3-2 19:53
查看资料  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 4 楼』:  


sed -i "s/[^0-9]/A/g" a.txt


   此帖被 +9 点积分         点击查看详情   
评分人:【 yishanju 分数: +8  时间:2009-3-3 09:05
评分人:【 Hanyeguxing 分数: +1  时间:2009-3-3 12:44




2009-3-2 23:10
查看资料  发短消息 网志   编辑帖子  回复  引用回复
yishanju
银牌会员

[b]看你妹啊[/b]


积分 1488
发帖 1357
注册 2006-5-20
状态 离线
『第 5 楼』:  

-_- 以前我也想用SED,不过后来发现处理过的文档的回车换行全变成黑方块,
恶心坏了
就没再用过SED




有问题请发论坛或者自行搜索,再短消息问我的统统是SB
2009-3-3 06:21
查看资料  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 6 楼』:  Re 5楼

那是因为你没有找到合适的版本^_^



2009-3-3 06:43
查看资料  发短消息 网志   编辑帖子  回复  引用回复
yishanju
银牌会员

[b]看你妹啊[/b]


积分 1488
发帖 1357
注册 2006-5-20
状态 离线
『第 7 楼』:  

给传个呗
我在GUNWIN32 上下的sed 4.15




有问题请发论坛或者自行搜索,再短消息问我的统统是SB
2009-3-3 06:45
查看资料  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 8 楼』:  Re 7楼

批处理室附件收集专用帖http://www.cn-dos.net/forum/viewthread.php?tid=25914

   此帖被 +8 点积分        点击查看详情   
评分人:【 yishanju 分数: +8  时间:2009-3-3 09:04




2009-3-3 08:01
查看资料  发短消息 网志   编辑帖子  回复  引用回复
Hanyeguxing
银牌会员

正在学习中的菜鸟...


积分 1039
发帖 897
注册 2009-3-1
来自 在地狱中仰望天堂
状态 离线
『第 9 楼』:  

谢谢各位大大高人,俺只是想用一个批处理来完成,不借助其他工具可以吗?
这是给别人弄的。俺总不能给别人发段批处理脚本,然后再传给别人个文件吧。。。
鄙视一下自己,呵呵。
操作系统:XP SP2 或 SP3

[ Last edited by Hanyeguxing on 2009-3-3 at 12:46 ]

2009-3-3 12:42
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
yishanju
银牌会员

[b]看你妹啊[/b]


积分 1488
发帖 1357
注册 2006-5-20
状态 离线
『第 10 楼』:  

打个包一起传过很难么?




有问题请发论坛或者自行搜索,再短消息问我的统统是SB
2009-3-3 13:18
查看资料  发短消息 网志   编辑帖子  回复  引用回复
netbenton
银牌会员

批处理编程迷


积分 1916
发帖 752
注册 2008-12-28
来自 广西
状态 离线
『第 11 楼』:  

::处理60K以内的文件,大了搞不定,汇编语言部分由批处理com开发工具辅助写的。
::在%1指定要修改的文件
@echo off
goto :begin
a 80
push bx
push cx
mov si,100
mov di,si
lodsb
cmp al,30
jb 0090
cmp al,39
jb 0092
mov al,41
stosb
loop 0087
pop cx
pop bx
nop

t=80
g 97

w
q
q
:begin
debug %1<%~nx0

[ Last edited by netbenton on 2009-3-3 at 11:37 ]



精简
[你的+我的+他的]=>[大家的]    个人网志   
2009-3-3 13:36
查看资料  发送邮件  发短消息 网志  OICQ (37659560)  编辑帖子  回复  引用回复
netbenton
银牌会员

批处理编程迷


积分 1916
发帖 752
注册 2008-12-28
来自 广西
状态 离线
『第 12 楼』:  这样也可以

@echo off
goto :bengin
a 80
db, 53 51 BE 00 01 89 F7 AC 3C 30 72 04 3C 39 72 02 B0 41 AA E2
db, F2 59 5B 90


t=80
g 97

w
q
q
:bengin
debug %1<%~nx0



精简
[你的+我的+他的]=>[大家的]    个人网志   
2009-3-3 14:01
查看资料  发送邮件  发短消息 网志  OICQ (37659560)  编辑帖子  回复  引用回复
Hanyeguxing
银牌会员

正在学习中的菜鸟...


积分 1039
发帖 897
注册 2009-3-1
来自 在地狱中仰望天堂
状态 离线
『第 13 楼』:  



  Quote:
Originally posted by netbenton at 2009-3-3 13:36:
::处理60K以内的文件,大了搞不定,汇编语言部分由批处理com开发工具辅助写的。
::在%1指定要修改的文件
@echo off
goto :begin
a 80
push bx
push cx
mov si,10 ...

这个要处理的文件至少170kb,350kb都很常见。

  Quote:
Originally posted by yishanju at 2009-3-3 13:18:
打个包一起传过很难么?

大大,给个fr工具的下载地址哈,俺就用他了,谢谢

2009-3-3 14:16
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
yishanju
银牌会员

[b]看你妹啊[/b]


积分 1488
发帖 1357
注册 2006-5-20
状态 离线
『第 14 楼』:  

fr下载地址:
http://baiy.cn/utils/fr/index.htm




有问题请发论坛或者自行搜索,再短消息问我的统统是SB
2009-3-3 14:23
查看资料  发短消息 网志   编辑帖子  回复  引用回复
Hanyeguxing
银牌会员

正在学习中的菜鸟...


积分 1039
发帖 897
注册 2009-3-1
来自 在地狱中仰望天堂
状态 离线
『第 15 楼』:  



  Quote:
Originally posted by yishanju at 2009-3-3 14:23:
fr下载地址:
http://baiy.cn/utils/fr/index.htm

现在开始学习fr和sed,呵呵

使用fr,依然残留少量的小黑块5555555555555555
楼上的大大,用QQ2009版里的info.db测试就知道了

[ Last edited by Hanyeguxing on 2009-3-3 at 14:59 ]

2009-3-3 14:41
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
« [1] [2] [3] »
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: