免费注册 查看新帖 |

Chinaunix

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

新手紧急求助呀 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-12-07 14:55 |只看该作者 |倒序浏览
有两个数据集的一一对应表,要将一一对应的数据合并成一个文件要怎么写脚本?
将列表左边的数据跟右边的合并成一个文件,以右边的为文件名,要怎么写perl

论坛徽章:
8
双子座
日期:2013-08-31 07:37:12金牛座
日期:2013-09-09 18:49:12处女座
日期:2013-09-23 11:43:14处女座
日期:2013-10-09 19:48:21狮子座
日期:2014-03-24 18:22:12丑牛
日期:2014-04-22 22:07:51申猴
日期:2014-06-12 21:54:13双鱼座
日期:2014-06-13 21:52:31
2 [报告]
发表于 2013-12-08 09:58 |只看该作者
贴点文本,贴图,没办法测试呀,建议把要得到的文本格式也贴出来

论坛徽章:
0
3 [报告]
发表于 2013-12-08 10:08 |只看该作者
回复 2# kernel69

列表
AgU000001_v1.1        ENSG00000110799_VWF_raw_NT
AgU000004_v1.1        ENSG00000144674_GOLGA4_raw_NT
AgU000008_v1.1        ENSG00000182670_TTC3_raw_NT
AgU000015_v1.1        ENSG00000077147_TM9SF3_raw_NT
AgU000018_v1.1        ENSG00000069122_GPR116_raw_NT
AgU000025_v1.1        ENSG00000007168_PAFAH1B1_raw_NT
AgU000028_v1.1        ENSG00000169018_FEM1B_raw_NT
AgU000036_v1.1        ENSG00000138434_SSFA2_raw_NT
AgU000040_v1.1        ENSG00000116005_PCYOX1_raw_NT
AgU000046_v1.1        ENSG00000122218_COPA_raw_NT

文件一是一个txt文件。里面的内容一下是节选。
>AgU000001_v1.1
GTGAGATTGGCCTTtATTGTGGGCTCAGGAGCACCCAAG
>AgU000004_v1.1
GtGGCACCCAGAAGAAaGAGACGCGGCGGCGGCGACGT

文件二是很多单独的txt文件,比如其中就有名字叫ENSG00000110799_VWF_raw_NT.txt的文件,需要按照列表的一一对应关系把文件一中相应的那2行加到文件二对应名字的文件中,麻烦你了O(∩_∩)O~

论坛徽章:
8
双子座
日期:2013-08-31 07:37:12金牛座
日期:2013-09-09 18:49:12处女座
日期:2013-09-23 11:43:14处女座
日期:2013-10-09 19:48:21狮子座
日期:2014-03-24 18:22:12丑牛
日期:2014-04-22 22:07:51申猴
日期:2014-06-12 21:54:13双鱼座
日期:2014-06-13 21:52:31
4 [报告]
发表于 2013-12-08 11:51 |只看该作者
本帖最后由 kernel69 于 2013-12-08 11:51 编辑

是这种效果?
操作前,先备份数据
  1. $ head 1 2 3 4
  2. ==> 1 <==
  3. 11111
  4. 11111

  5. ==> 2 <==
  6. 22222
  7. 22222

  8. ==> 3 <==
  9. 33333
  10. 33333

  11. ==> 4 <==
  12. 44444
  13. 44444
  14. $ ls
  15. 1  2  3  4  t.pl
  16. $./t.pl
  17. $ head 1 2 3 4
  18. ==> 1 <==
  19. 11111
  20. 11111

  21. ==> 2 <==
  22. 22222
  23. 22222
  24. 11111
  25. 11111

  26. ==> 3 <==
  27. 33333
  28. 33333

  29. ==> 4 <==
  30. 44444
  31. 44444
  32. 33333
  33. 33333
  34. cat t.pl
  35. #!/usr/bin/env perl

  36. while (<DATA>) {
  37.     ($f1,$f2) = split;
  38.     open F1,$f1 or die("can't write file:  $!");
  39.     open F2,">>",$f2 or die("can't write file:  $!");
  40.     @f_one = <F1>;
  41.     print F2 @f_one;


  42. }




  43. __DATA__
  44. 1        2
  45. 3        4
  46. $
复制代码
回复 3# yang7473453


   

论坛徽章:
0
5 [报告]
发表于 2013-12-08 12:43 |只看该作者
如果说列表左边的都是单独的文件的文件名,我想将它们的文件名换成右边列表相对应的名字,要怎么办呢?
AgU000001_v1.1        ENSG00000110799_VWF_raw_NT
AgU000004_v1.1        ENSG00000144674_GOLGA4_raw_NT
AgU000008_v1.1        ENSG00000182670_TTC3_raw_NT
AgU000015_v1.1        ENSG00000077147_TM9SF3_raw_NT
AgU000018_v1.1        ENSG00000069122_GPR116_raw_NT
AgU000025_v1.1        ENSG00000007168_PAFAH1B1_raw_NT
AgU000028_v1.1        ENSG00000169018_FEM1B_raw_NT
AgU000036_v1.1        ENSG00000138434_SSFA2_raw_NT
AgU000040_v1.1        ENSG00000116005_PCYOX1_raw_NT
AgU000046_v1.1        ENSG00000122218_COPA_raw_NT回复 4# kernel69


   

论坛徽章:
0
6 [报告]
发表于 2013-12-08 12:49 |只看该作者
你这个应该是达到我要的效果了,不知道要怎么运行呀回复 4# kernel69


   

论坛徽章:
8
双子座
日期:2013-08-31 07:37:12金牛座
日期:2013-09-09 18:49:12处女座
日期:2013-09-23 11:43:14处女座
日期:2013-10-09 19:48:21狮子座
日期:2014-03-24 18:22:12丑牛
日期:2014-04-22 22:07:51申猴
日期:2014-06-12 21:54:13双鱼座
日期:2014-06-13 21:52:31
7 [报告]
发表于 2013-12-08 13:17 |只看该作者
把你的这些文本,贴到__DATA__的下面
  1. AgU000001_v1.1        ENSG00000110799_VWF_raw_NT
  2. AgU000004_v1.1        ENSG00000144674_GOLGA4_raw_NT
  3. AgU000008_v1.1        ENSG00000182670_TTC3_raw_NT
  4. AgU000015_v1.1        ENSG00000077147_TM9SF3_raw_NT
  5. AgU000018_v1.1        ENSG00000069122_GPR116_raw_NT
  6. AgU000025_v1.1        ENSG00000007168_PAFAH1B1_raw_NT
  7. AgU000028_v1.1        ENSG00000169018_FEM1B_raw_NT
  8. AgU000036_v1.1        ENSG00000138434_SSFA2_raw_NT
复制代码
确保你的这些文件都跟脚本在同一目录下,执行就行
回复 6# yang7473453


   

论坛徽章:
0
8 [报告]
发表于 2013-12-08 19:50 |只看该作者
回复 1# yang7473453


   

论坛徽章:
0
9 [报告]
发表于 2013-12-08 19:51 |只看该作者
回复 1# yang7473453


   

论坛徽章:
0
10 [报告]
发表于 2013-12-08 21:10 |只看该作者
使用成功了。O(∩_∩)O谢谢,帮大忙了O(∩_∩)O~回复 7# kernel69


   
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP