![계통발생수 파일에서 DNA 서열 이름을 복사하고 거기에 종 이름을 추가하시겠습니까?](https://linux55.com/image/129079/%EA%B3%84%ED%86%B5%EB%B0%9C%EC%83%9D%EC%88%98%20%ED%8C%8C%EC%9D%BC%EC%97%90%EC%84%9C%20DNA%20%EC%84%9C%EC%97%B4%20%EC%9D%B4%EB%A6%84%EC%9D%84%20%EB%B3%B5%EC%82%AC%ED%95%98%EA%B3%A0%20%EA%B1%B0%EA%B8%B0%EC%97%90%20%EC%A2%85%20%EC%9D%B4%EB%A6%84%EC%9D%84%20%EC%B6%94%EA%B0%80%ED%95%98%EC%8B%9C%EA%B2%A0%EC%8A%B5%EB%8B%88%EA%B9%8C%3F.png)
다음과 같은 파일에서:
(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"