免费注册 查看新帖 |

Chinaunix

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

问一个shell的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-11-04 17:10 |只看该作者 |倒序浏览
有文件a.txt
数据格式为(一行一条记录)
1
2
3
4

文件b.txt(一行一条记录,共3列\t分开)
1   aa  bbb
9   ccc  cccc
10  dfdsf fdsfsd
3    fdsfs  332

现在想把a.txt的每一行与b.txt中的第一列进行对比,如果相同,则把b.txt那一行删除掉
显然1,3这个数字二个文件都有,那么要把 b.txt文件中第一列含1和3的那行删除掉
这样得到文件
9   ccc  cccc
10  dfdsf fdsfsd

论坛徽章:
0
2 [报告]
发表于 2010-11-04 17:21 |只看该作者
  1. [oracle@s12071 ~]$ awk 'FNR==NR{a[$0];next}{if(!($1 in a))print}' file file1
  2. 9   ccc  cccc
  3. 10  dfdsf fdsfsd
  4. [oracle@s12071 ~]$ cat file
  5. 1
  6. 2
  7. 3
  8. 4
  9. [oracle@s12071 zhaob]$ cat file1
  10. 1   aa  bbb
  11. 9   ccc  cccc
  12. 10  dfdsf fdsfsd
  13. 3    fdsfs  332
  14. [oracle@s12071 ~]$
复制代码

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
3 [报告]
发表于 2010-11-04 17:23 |只看该作者
grep -vwf a.txt b.txt
9   ccc  cccc
10  dfdsf fdsfsd

论坛徽章:
0
4 [报告]
发表于 2010-11-04 17:25 |只看该作者
grep -vwf a.txt b.txt
9   ccc  cccc
10  dfdsf fdsfsd
昭襄王 发表于 2010-11-04 17:23



    这个不能指定对某一列比较

论坛徽章:
0
5 [报告]
发表于 2010-11-04 17:36 |只看该作者
lkk2003rty 发表于 2010-11-04 17:21



    如果文件有30G那么大怎么办呢

论坛徽章:
0
6 [报告]
发表于 2010-11-04 17:46 |只看该作者
grep -vwf a.txt b.txt
9   ccc  cccc
10  dfdsf fdsfsd
昭襄王 发表于 2010-11-04 17:23



    这个比较强

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
7 [报告]
发表于 2010-11-04 17:46 |只看该作者
b.txt:
1        aa  bbb
9        ccc  cccc
10        dfdsf fdsfsd
3        fdsfs  332
11        3
grep -vwf <(sed 's/^/\^/' a.txt) b.txt
9       ccc  cccc
10      dfdsf fdsfsd
11      3

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
8 [报告]
发表于 2010-11-04 17:50 |只看该作者
这个不能指定对某一列比较
arcow 发表于 2010-11-04 17:25



    可以强制第一列,见7楼

论坛徽章:
0
9 [报告]
发表于 2010-11-04 17:53 |只看该作者
回复 5# arcow


    那个是b.txt吧。。。那用split把b.txt拆分成几个小文件,然后照样awk。。。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP