免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: lucyhe122
打印 上一主题 下一主题

请教:如何判断一个文件内容在另一个文件中重复出现的次数 [复制链接]

论坛徽章:
0
11 [报告]
发表于 2007-02-09 08:51 |只看该作者
别好像办不到哈。。天无绝人之路,不试试看怎么知道 ^_^

如果仅仅是因为没16进编辑器,你把 a.txt、b.txt 给我,然后我把完整代码给你

论坛徽章:
0
12 [报告]
发表于 2007-02-09 09:20 |只看该作者
awk就是awp加ak,是16进制编译器吗?如果只是编辑器,那它与vi和nedit有什么区别呢?它们同样可打开文本呀!我机器上有c51
编译器,它可编译16进制数据!我不太明白你的16进制编辑器打开a.txt文本的意思!

论坛徽章:
0
13 [报告]
发表于 2007-02-09 09:31 |只看该作者
我的意思是,把a.txt 的内容,处理一下被 gawk 拿来处理b.txt。当然,很多编辑器,或者代码脚本很多方式都能实现。(vi貌似也可以)

论坛徽章:
0
14 [报告]
发表于 2007-02-09 09:42 |只看该作者
要是a.txt 内容太长,是否可以考虑部分匹配?我这么想,主要不知道gawk是否 RS 内容长度有限制。
就是说,能不能只部分连续内容?可以的话,也可以用上面的 gawk 方法,其中 RS="[a.txt 特征码]"

论坛徽章:
0
15 [报告]
发表于 2007-02-09 09:51 |只看该作者
我用vi a.txt | awk 'BEGIN { RS="\x01\x02\x03\x04\x05\x06"; } END { print NR-1 }' b.txt 测试了一下,它总是报:awk record:'00 00 55 53 42 53 00 00 00 01 ...' too long,是不是我的字符串太长,awk根本认不了啊!

论坛徽章:
0
16 [报告]
发表于 2007-02-09 09:57 |只看该作者
嚄?这么几个还不算长!

论坛徽章:
0
17 [报告]
发表于 2007-02-09 10:04 |只看该作者
ps: 不能 vi a.txt |awk ...,参照我上面的代码。a.txt 的作用是,提取里面的特征码(16进,每个字节写成 \xFF 这样的形式),作为8楼的代码的 RS的值。

另外,
      RS="\x01\x02\x03\x04\x05\x06"; 其中 \x01\x02\x03 ... 也不是实在的数据,得根据 a.txt 里面的内容设置。

论坛徽章:
0
18 [报告]
发表于 2007-02-09 10:39 |只看该作者
我的内容就是16进制的,也就是每行数据是一个字节(8bit=1byte),按你的意思我要将RS= ... 改为RS="\x00\x01\x02\x03\...\0xFF";啊,是不是也很烦琐呢?我把附件传上来,看有没有更简单的方法可实现!

[ 本帖最后由 lucyhe122 于 2007-2-9 10:48 编辑 ]

work.rar

478 Bytes, 下载次数: 14

论坛徽章:
0
19 [报告]
发表于 2007-02-09 10:43 |只看该作者
en
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP