我有一个看起来像这样的文件:
uniprotkb:Q9VNB0|intact:EBI-102551 uniprotkb:A1ZBG6|intact:EBI-195768
uniprotkb:P91682|intact:EBI-142245 uniprotkb:Q24117|intact:EBI-156442
uniprotkb:P92177-3|intact:EBI-204491 uniprotkb:Q9VDK2|intact:EBI-87444
我希望提取:
和|
分隔符之间的字符串,输出应该是:
Q9VNB0 A1ZBG6
P91682 Q24117
P92177-3 Q9VDK2
制表符分隔在两列之间。我在 unix 中写了一个 perl 命令:
perl -l -ne '/:([^|]*)?[^:]*:([^|]*)/ and print($1,"\t",$2)' <file>
我得到的输出是:
Q9VNB0 EBI-102551 uniprotkb:A1ZBG6
P91682 EBI-142245 uniprotkb:Q24117
P92177-3 EBI-204491 uniprotkb:Q9VDK2
我想知道我做错了什么以及如何解决问题。我不想使用拆分功能。
谢谢,
汤姆。