数据结构长这样的,id后面的一块内容如name=LOS..,等号后面的内容,或者是exon_1
不知道叙述清楚了没有,总而言之,想要把ID=【LOC_Os01g01010】,Name=【LOC_Os01g01010】/【exon_1】,括号里面的内容提取出来,有的分割符是:,有的分隔符是;顺便把前面的内容也打印出来
å¯ä»¥ç¨æ£åï¼
(?:\S+\s+){8}ID=(?P<ID>[^;]+);(?:Name=(?P<NAME>[^;]+);)?Parent=(?P<PARENT>[^;]+);
以ä¸æ¯Perlçæ£åå¹é ï¼åéæ¾å¨äº IDãNAMEãPARENTä¸ï¼ç¬¬äºä¸ªNAMEå¯è½ä¸åå¨è¿½é®
(?:\S+\s+){8}ID=(?P<ID>[^;]+);(?:Name=(?P<NAME>[^;]+);)?Parent=(?P<PARENT>[^;]+);
以ä¸æ¯Perlçæ£åå¹é ï¼åéæ¾å¨äº IDãNAMEãPARENTä¸ï¼ç¬¬äºä¸ªNAMEå¯è½ä¸åå¨è¿½é®
è°¢è°¢ä½ ï¼é®é¢å·²ç»è§£å³äº
温馨提示:答案为网友推荐,仅供参考
第1个回答 2015-07-26
发文本的,能做测试追问
Chr1 MSU_r7 mRNA 29 108 . + . ID=L_2;Name=LOC_;Parent=LOC1
Chr1 MSU_r7 exon 2903 3268 . + . ID=L_1:exon_1;Parent=LOCOs
[root@Goun 桌面]# awk -F "[=;]" 'NF==4{print $2};NF==6{print $2,$4}' test.txt
L_2 LOC_
L_1:exon_1
你说的前面的内容,是ID前面的内容么?
谢谢你,不过打印出来的还有一个冒号,我昨天想办法解决了
本回答被提问者采纳第2个回答 2015-07-27
叙述不清,举个例子看看,到底要提取什么数据。追问
已经解决了,谢谢