免费注册 查看新帖 |

Chinaunix

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

读出1个文件独有的部分 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-01-27 16:16 |只看该作者 |倒序浏览
文件a:
1
2
3
4
文件b:
2
3
4
5
6
如何写脚本输出a中b没有的部分1;
我这里只能用awk,读出相同部分。
awk '(NR==FNR){a[$1]=$1}(NR>FNR){for(i in a ) if(a==$1) print a}' a b
不同部分还请大虾们多帮忙,如果输出   a中b没有的行

论坛徽章:
0
2 [报告]
发表于 2010-01-27 16:23 |只看该作者

回复 #1 leestars881001 的帖子

大虾们帮帮忙,有想过用delete 数组内相同的部分

awk '(NR==FNR){a[$1]=$1}(NR>FNR){for(i in a ) if(a==$1) delete;for( in i a ) print a}' a b
不过好像不成功。

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
3 [报告]
发表于 2010-01-27 16:24 |只看该作者
man comm

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
4 [报告]
发表于 2010-01-27 16:25 |只看该作者
如果数据是排好序的,就用comm

论坛徽章:
0
5 [报告]
发表于 2010-01-27 16:28 |只看该作者

回复 #4 beginner-bj 的帖子

数据未排序,帖子里只是举例 a,b文件;
实际要用时候 :
a文件是一组 IP。
b文件时另一组IP。
要选出a文件中b没有存在的IP。

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
6 [报告]
发表于 2010-01-27 16:33 |只看该作者
grep -wFvf b a

论坛徽章:
0
7 [报告]
发表于 2010-01-27 16:44 |只看该作者

回复 #6 beginner-bj 的帖子

多谢,以前看过有人有我类似的需求,里面有回复好像就是用grep,可惜看过后就给忘了。
而且也应该是开始多学习awk以外的shell。。awk不是万能的~

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
8 [报告]
发表于 2010-01-27 16:45 |只看该作者
awk 也可以实现这个目的,就是太长了,所以还是短的好

论坛徽章:
0
9 [报告]
发表于 2010-01-27 16:47 |只看该作者
awk '(NR==FNR){a[$0]=$1}(NR>FNR)&& !($0 in a){print }' b a

论坛徽章:
0
10 [报告]
发表于 2010-01-27 16:58 |只看该作者

回复 #9 fllintel 的帖子

刚才grep简短,我遇见却又再忘了;
这个awk长,但是可能更适合我,好记忆。
多谢两位大虾~
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP