Chinaunix

标题: 求助:文件比较的问题 [打印本页]

作者: wazhl    时间: 2012-01-11 10:03
标题: 求助:文件比较的问题
本帖最后由 wazhl 于 2012-01-11 10:05 编辑

有两个文件txt1  和 txt2

txt1 列出部份内容:
19.70.128.28
19.70.128.34
19.70.161.10
19.70.161.11
……

txt2内容如下: 列出部分内容:
19.70.214.100 zjjdkf01
19.70.214.102 zjjdkf02
19.70.214.104 zjjekf01
19.70.214.106 zjjekf02
19.70.214.107 zjjwkf01
19.70.214.108 zjjwkf02
19.70.212.113 zjjwcs13
19.70.212.114 zjjwcs14
19.70.214.109 zjjauf01

假设:
现在需要比较在txt1出现的IP是否在txt2的文件里都存在。
如果不存在则输出,
另外如果txt2的IP,在txt1里也需要存在,不然也同样输出。

这样要怎么写呢?
作者: wazhl    时间: 2012-01-11 10:48
过程应该是读取txt1的每一行,比对txt2的文件。
作者: lionfun    时间: 2012-01-11 11:37
回复 1# wazhl
  1. [root@lionfun tmp]#
  2. [root@lionfun tmp]# cat file1
  3. 19.70.214.100
  4. 19.70.214.104
  5. 19.70.214.106
  6. 19.70.214.108
  7. 19.70.214.108
  8. [root@lionfun tmp]# cat file2
  9. 19.70.214.100 zjjdkf01
  10. 19.70.214.100 zjjdkf05
  11. 19.70.214.102 zjjdkf02
  12. 19.70.214.104 zjjekf01
  13. 19.70.214.106 zjjekf02
  14. [root@lionfun tmp]# awk 'NR==FNR{if(!b[$1]++)a[$1]++}NR>FNR{if(!c[$1]++)a[$1]++}END{for(i in a){if(a[i]==1)print i}}' file1 file2
  15. 19.70.214.102
  16. 19.70.214.108
  17. [root@lionfun tmp]#
复制代码

作者: Shell_HAT    时间: 2012-01-11 12:36
  1. grep -vxFf file1 file2
复制代码

作者: zooyo    时间: 2012-01-11 15:49
提示: 作者被禁止或删除 内容自动屏蔽
作者: zooyo    时间: 2012-01-11 15:56
提示: 作者被禁止或删除 内容自动屏蔽
作者: 油条回锅肉    时间: 2012-01-11 16:01
回复 5# zooyo


    你还去把课文原文找出来了?

作者: hbmhalley    时间: 2012-01-11 16:07
[ 本帖最后由 hbmhalley 于 2012-01-11 16:09 编辑 ]


    多美的湿 肿么被程序猿用 [code]框起来以后就变味了呢 ..
作者: winway1988    时间: 2012-01-11 22:12
zooyo的漂亮,支持任意多个文件
作者: zooyo    时间: 2012-01-11 23:02
提示: 作者被禁止或删除 内容自动屏蔽
作者: wazhl    时间: 2012-01-19 16:03
问题解决。






欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2