免费注册 查看新帖 |

Chinaunix

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

有个问题,请教各位DX?? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-06-08 17:34 |只看该作者 |倒序浏览
我有两个文件: file1  file2
cat file1
1000
2000
2000
3000
4000
4000
5000
6000
7000

cat file2
1000
2000
4000
4000
5000
5000
8000
9000

如何将两个文件合并成一个文件 file3]
cat file3
------------------------------------
1000                 1000
2000                 2000
4000                 4000
4000                 4000
5000                 5000
-------------------------------------            
2000
3000
6000
7000
--------------------------------------
                         5000
                         8000
                         9000
            
  说明:从file1第一行开始检索 如果找到相同的 连在一起
    如果找到多行,只连接第一个 .放在第一部分.

    file1在file2中没找到的 放在第二部分.

    file2在file1中没找到的和与file1虽然有相同的,但大于一行的
    放在第三部分

 换句话说:也就是将两个文件相同部分 一对一 检索出来.
 然后 file1   file2 余下的部分 还按原列 放在后面.
  
 首先,对DX表示感谢!!

论坛徽章:
0
2 [报告]
发表于 2005-06-09 07:36 |只看该作者

有个问题,请教各位DX??

有点难度,但高手应该能实现,这里高手很多,应该有人
能做到!!!

论坛徽章:
0
3 [报告]
发表于 2005-06-09 07:50 |只看该作者

有个问题,请教各位DX??

试试:
  1. comm -12 file1 file2 > /tmp/$$.com
  2. (paste /tmp/$$.com /tmp/$$.com; comm -23 file1 file2; comm -13 file1 file2) > file3
复制代码

论坛徽章:
0
4 [报告]
发表于 2005-06-09 08:13 |只看该作者

有个问题,请教各位DX??

感谢  aerofox
生成的 file3 如下:
1000    1000
2000    2000
4000    4000
4000    4000
5000    5000
2000
3000
6000
7000
5000
8000
9000

 能否生成file3 如下:
1000    1000
2000    2000
4000    4000
4000    4000
5000    5000
2000
3000
6000
7000
    5000
    8000
    9000


     谢谢

论坛徽章:
0
5 [报告]
发表于 2005-06-09 08:53 |只看该作者

有个问题,请教各位DX??

再试试:
  1. comm -12 file1 file2 > /tmp/$$.com
  2. (paste /tmp/$$.com /tmp/$$.com; comm -3 file1 file2) > file3
复制代码

论坛徽章:
0
6 [报告]
发表于 2005-06-09 09:29 |只看该作者

有个问题,请教各位DX??

在楼上的基础上的改进

comm -12 file1 file2 > tf1
comm -13 file1 file2 > tf2
touch tf3
(paste tf1 tf1; comm -23 file1 file2; paste tf3 tf2) > file3

论坛徽章:
0
7 [报告]
发表于 2005-06-09 10:06 |只看该作者

有个问题,请教各位DX??

如果paste到底,可以不touch:
(paste tf1 tf1; comm -23 file1 file2; paste /dev/null tf2) > file3
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP