Chinaunix首页 | 论坛 | 博客
  • 博客访问: 151998
  • 博文数量: 19
  • 博客积分: 1425
  • 博客等级: 上尉
  • 技术积分: 425
  • 用 户 组: 普通用户
  • 注册时间: 2007-08-20 16:48
文章分类

全部博文(19)

文章存档

2009年(1)

2008年(18)

我的朋友

分类: LINUX

2008-10-10 10:34:03

例:

File1内容为:

1

2

3

4

5

File2内容为:

1

2

3

我们想到到结果

4

5

 

 

 

方法一: comm -23 file1 file2

此方法是严格按照每行是否相同来扫描的。只适合按顺序排列好的文本,如果文件内容为:

File1内容为:

1

2

6

3

4

5

File2内容为:

1

2

3

那得到结果为:

6

3

4

5

 

 

方法二: grep -v -f file2 file1

此方法要gnu grep版本才行。Linux上一般都支持。Solaris9不支持

如果文件内容如上所述,不是按顺序排列的,也不要紧。

 

方法三: awk '{print $1}' file1 file2 |sort|uniq –u

或者:cat file1 file2 | sort | uniq –u

此方法用来去掉两文件中的重复值甚为有效。针对大文本操作,效率比方法二稍高。
 
阅读(696) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~