免费注册 查看新帖 |

Chinaunix

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

awk 对比两个文件的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-03-09 23:40 |只看该作者 |倒序浏览
本帖最后由 Lx308033262 于 2010-03-10 10:49 编辑

有两个文件
文件A
1
2
3
4
文件B
1
2
11
3
需要把B里面包含A或者B和A相同的行要放到you.txt文件里 B不包含A的内容放到meiyou.txt文件里
也就是得到这样的结果
you.txt
1
2
11
3
meiyou.txt
4

不好意思  打错了  meiyou.txt里面应该是空的

论坛徽章:
0
2 [报告]
发表于 2010-03-10 00:28 |只看该作者
cp B you.txt
grep -v -f B A > meiyou.txt
没理解错的话,应该这样?

论坛徽章:
1
巨蟹座
日期:2014-06-04 13:33:30
3 [报告]
发表于 2010-03-10 02:34 |只看该作者
grep -f 1 2 >  you.txt
grep -v -f 2 1 > meiyou.txt

论坛徽章:
0
4 [报告]
发表于 2010-03-10 10:19 |只看该作者
  1. awk 'NR == FNR {a[NR] = $0} NR > FNR {for(i = 1; i<= NR -FNR ;i++){if(a[i] ~$0){b[i]++}}}END{for(i = 1; i<=NR-FNR ;i++){if(b[i])print a[i]}}' B A >you.txt
复制代码
  1. awk 'NR == FNR {a[NR] = $0} NR > FNR {b=0 ;for(i = 1; i<= NR -FNR ;i++){if(a[i] ~$0){b++}}if(\!b)print $0}' B A >meiyou.txt
复制代码

论坛徽章:
0
5 [报告]
发表于 2010-03-10 10:22 |只看该作者
dujie_m 发表于 2010-03-10 10:19



    请教 为什么要写那么麻烦?
    不是这样就可以了吗?是不是我的有缺陷?
  1. awk '(FNR==NR) {a[$0]=$0} (FNR<NR) {if(a[$0]==$0) print $0}' A B
  2. awk '(FNR==NR) {a[$0]=$0} (FNR<NR) {if(a[$0]!=$0) print $0}' B A
复制代码

论坛徽章:
0
6 [报告]
发表于 2010-03-10 10:29 |只看该作者
本帖最后由 dujie_m 于 2010-03-10 10:31 编辑
需要把B里面包含A或者B和A相同的行要放到you.txt文件里 B不包含A的内容放到meiyou.txt文件里
也就是得到这样的结果
you.txt
1
2
11
3
meiyou.txt
4

楼主有个B包含A需求,还要考虑输出顺序。我的不是很好好,我自己也感觉很麻烦。
看大家有什么好方法。。

论坛徽章:
0
7 [报告]
发表于 2010-03-10 10:37 |只看该作者
回复 6# dujie_m


    B包含A的应该是1,2,3。B不包含A的应该是11,为什么楼主的需求这么怪?

论坛徽章:
0
8 [报告]
发表于 2010-03-10 10:41 |只看该作者
本帖最后由 dujie_m 于 2010-03-10 10:45 编辑

回复 7# where27


    诶,楼主的要求是很怪。。。我是按照他需求的输出,拼凑成的awk,有点不好意思的说。

论坛徽章:
0
9 [报告]
发表于 2010-03-10 10:47 |只看该作者
回复 8# dujie_m


    如果是我说的那种需求,其实3楼是最好的办法,用awk太麻烦

论坛徽章:
0
10 [报告]
发表于 2010-03-10 10:48 |只看该作者
回复 7# where27


    11也包含有1啊
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP