계통발생수 파일에서 DNA 서열 이름을 복사하고 거기에 종 이름을 추가하시겠습니까?

계통발생수 파일에서 DNA 서열 이름을 복사하고 거기에 종 이름을 추가하시겠습니까?

다음과 같은 파일에서:

(AJirio:0.00230,(AJama.1.1:0.00171,(AJkago.1:0.00057,AJtok:0.00033)1.00:0.00080)0.94:0.00085,Atab.1.1.1:0.27697);

이 파일을 가져와야 합니다.

AJirio"AJirio"  
AJama.1.1"AJama"
AJkago.1"AJkago"
AJtok"AJtok"
Atab.1.1.1"Atab"

따라서 기본적으로 계통발생수에서 DNA 서열의 이름을 추출하고 여기에 종 이름을 따옴표(AJirio, AJkama..)로 추가합니다.

답변1

두 가지 방법:

Awk방법:

awk -v RS=',' -F':' '{ 
       sub(/\(*/, ""); dna = $1;
       gsub(/[^a-zA-Z]/, "", $1);
       printf "%s\042%s\042\n", dna, $1 
}' file

sed방법:

sed -En 's/\(*?(([a-zA-Z]+)[^:]*):[^,]+/\1"\2"/g; s/,/\n/gp' file

산출:

AJirio"AJirio"
AJama.1.1"AJama"
AJkago.1"AJkago"
AJtok"AJtok"
Atab.1.1.1"Atab"

관련 정보