免费注册 查看新帖 |

Chinaunix

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

如何对文本内容拆分并编辑 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-04-26 14:52 |只看该作者 |倒序浏览
10可用积分
输入文件是成千行记录的文本文件,下面是截取的两行记录:
  1. 592        NM_001142467        chr1        -        934343        935552        934438        935353        3        934343,934905,935071,        934812,934993,935552,        0        HES4        cmpl        cmpl        1,0,0,
  2. 592        NM_021170        chr1        -        934341        935552        934438        935353        4        934341,934905,935071,935245,        934812,934993,935167,935552,        0        HES4        cmpl        cmpl        1,0,0,0,
复制代码
希望获得的结果是将,每一行的第10,11列,按照“,”进行拆分后,分别相互配对,每一列包含的由“,”拆分区间个数不定,数目为第9列数值

输出结果中,第1~3,7列为输入文件的2~4,13列,没有做修改,只是第4,5列是原输入文件第10,11列按顺序依次拆分后的结果
  1. NM_001142467        chr1        -        1        934343        934812        HES4
  2. NM_001142467        chr1        -        2        934905        934993        HES4
  3. NM_001142467        chr1        -        3        935071        935552        HES4
  4. NM_021170        chr1        -        1        934341        934812        HES4
  5. NM_021170        chr1        -        2        934905        934993        HES4
  6. NM_021170        chr1        -        3        935071        935167        HES4
  7. NM_021170        chr1        -        4        935245        935552        HES4
复制代码

最佳答案

查看完整内容

菜鸟抛板砖:

论坛徽章:
0
2 [报告]
发表于 2012-04-26 14:52 |只看该作者
菜鸟抛板砖:
  1. awk '{split($10,a,",");split($11,b,",");for(i=1;i<length(a);i++){print $2"\t"$3"\t"$4"\t"i"\t"a[i]"\t"b[i]"\t"$13}}' data
复制代码

论坛徽章:
0
3 [报告]
发表于 2012-04-26 14:56 |只看该作者
没看的太明白 再简化下例子行么

论坛徽章:
3
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:51:162015年亚洲杯之阿曼
日期:2015-04-07 20:00:59
4 [报告]
发表于 2012-04-26 15:19 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
5 [报告]
发表于 2012-04-26 18:12 |只看该作者
回复 3# zooyo


       不是作业呐。。没有什么时候要交
    是想对自己之前一个结果进行复查
之前是用笨方法,比较区间起始终止,计算两个位置文件之间的重叠长度记录,很多地方是自己手动计算,这里想能不能有准确性高一点的方法

   这里就是对位置文件中位置信息的提取过程

论坛徽章:
0
6 [报告]
发表于 2012-04-26 18:16 |只看该作者
回复 4# jiejie455


    试试先。。
你如果还说自己菜鸟,我都要无地自容了。。

   当时我是用“,”做分隔符,再换成换行符这样单独提取某一个记录中的小区间,记录多的时候就懵了。。

论坛徽章:
3
水瓶座
日期:2014-03-25 17:08:042015亚冠之塔什干棉农
日期:2015-08-10 10:45:122015亚冠之萨济拖拉机
日期:2015-08-13 16:05:24
7 [报告]
发表于 2012-04-26 23:14 |只看该作者
等着解决办法,学习学习
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP