免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 3732 | 回复: 18
打印 上一主题 下一主题

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

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-02-08 17:47 |只看该作者 |倒序浏览
我有两个数据文件,我要以其中一个文本的数据(包括所有数据及其顺序)为模板,得到其在另一个文件中重复出现的次数,两文本内容大致如下:
a.txt:
从数据00到FF(排成一列)
b.txt:
00
...
55
...
00
2A
...
00到FF(排成一列,16进制数据,共256)
80
1F
...
00到FF(排成一列,16进制数据,共256)
80
1F
...
我现在想计算a.txt在b.txt中出现的次数(即00--FF出现的次数),该怎么做呢?有哪位好心的帮帮我吧,先谢谢了!

论坛徽章:
0
2 [报告]
发表于 2007-02-08 18:31 |只看该作者
也许是太容易,你们不屑回答,可我刚接触shell,有很多不知道的,还希望知道的能帮帮忙,这样的文件比较有几百个,我希望能有好的命令能实现,提醒一下也行!拜托各位了!

论坛徽章:
0
3 [报告]
发表于 2007-02-08 18:47 |只看该作者
不太容易理解,其中 80 1F 也是16进的巴?可以把他们当作分隔符么?

论坛徽章:
0
4 [报告]
发表于 2007-02-08 19:01 |只看该作者
是,数据都是16进制的,但80 1F不能当作分隔符,数据时变的,只有00--FF这是定的,没有什么好办法只提取这有顺序的数据吗,其余的是没有顺序的,而我要的就是00--FF这些有顺序的数据,不计算重复次数,能从文本中提取出来也行!

论坛徽章:
0
5 [报告]
发表于 2007-02-08 19:05 |只看该作者
嗯,明白了。我试试看。是不是整个文件,就一列?

论坛徽章:
0
6 [报告]
发表于 2007-02-08 19:07 |只看该作者
是的,先谢谢awk就是awp加ak !

论坛徽章:
84
每日论坛发贴之星
日期:2015-12-29 06:20:00每日论坛发贴之星
日期:2016-01-16 06:20:00每周论坛发贴之星
日期:2016-01-17 22:22:00程序设计版块每日发帖之星
日期:2016-01-20 06:20:00每日论坛发贴之星
日期:2016-01-20 06:20:00程序设计版块每日发帖之星
日期:2016-01-21 06:20:00每日论坛发贴之星
日期:2016-01-21 06:20:00程序设计版块每日发帖之星
日期:2016-01-23 06:20:00程序设计版块每日发帖之星
日期:2016-01-31 06:20:00数据库技术版块每日发帖之星
日期:2016-01-16 06:20:00程序设计版块每日发帖之星
日期:2016-01-16 06:20:00程序设计版块每日发帖之星
日期:2016-01-14 06:20:00
7 [报告]
发表于 2007-02-08 19:24 |只看该作者
有个思路,但不知道好不好实现:
分别把a.txt, b.txt的内容放到两个变量里,然后循环
用expr的index 或 awk的match找第一个匹配的项,并删除, 直到匹配失败退出循环。

循环次数1就是匹配/重复的次数。

论坛徽章:
0
8 [报告]
发表于 2007-02-08 19:36 |只看该作者
如果用gawk,可以这么试试看:

用16进编辑器(如UE)打开 a.txt,然后这么的:

  1. awk 'BEGIN { RS="\x01\x02\x03\x04\x05\x06"; } END { print NR-1 }' b.txt
复制代码

论坛徽章:
0
9 [报告]
发表于 2007-02-08 19:36 |只看该作者
谢谢yjh777  ,我试试!

论坛徽章:
0
10 [报告]
发表于 2007-02-08 19:54 |只看该作者
awk就是awp加ak ,不好意思,我在UNIX上,只有vi 和nedit,好像办不到,还是非常感谢你的答案!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP