次のようなファイルがあります。
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
2 つの列の間はタブで区切られています。私は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
何が間違っているのか、どうすれば問題を解決できるのかを知りたいです。分割機能を使用したくありません。
ありがとう、
トム。