두 파일을 상호 참조하는 데 도움이 필요합니다.
파일 1
Aplastodiscus_albofrenatus_CFBH5051
Aplastodiscus_albosignatus_MZUSPfield1451
Aplastodiscus_arildae_USNM303022
Aplastodiscus_cavicola_MNRJ63689
Aplastodiscus_cochranae_CFBH3001
파일 2
>12sval16s_Aplastodiscus_albofrenatus_CFBH5051
>12sval16s_Aplastodiscus_albosignatus_MZUSPfield1451
>12sval16s_Aplastodiscus_arildae_USNM303022
>12sval16s_Boana_palaestes_MUBI6795
>12sval16s_Boana_gladiator_MUBI5391
file1의 문자열과 file2의 첫 번째 "_" 뒤의 문자열이 일치하는 경우에만 file2에 "">" 없이 문자열을 추가하고 싶습니다. file1과 file2의 문자열은 공백으로 구분해야 합니다. 출력은 다음과 같아야 합니다. 이와 같이:
Aplastodiscus_albofrenatus_CFBH5051 12sval16s_Aplastodiscus_albofrenatus_CFBH5051
Aplastodiscus_albosignatus_MZUSPfield1451 12sval16s_Aplastodiscus_albosignatus_MZUSPfield1451
Aplastodiscus_arildae_USNM303022 12sval16s_Aplastodiscus_arildae_USNM303022
Aplastodiscus_cavicola_MNRJ63689
Aplastodiscus_cochranae_CFBH3001
awk가 도움이 될지 궁금합니다. 미리 감사드립니다.
:)
답변1
이를 달성하기 위해 GNU sed를 사용할 수 있지만 awk 솔루션이 더 읽기 쉽습니다.
sed -rn '/^>/!{G;s:^([^\n]+)\n.*>([^_]+_)\1\.*:\1 \2\1:;P;d};H' FILE2 FILE1 > OUTPUT
입력 순서가 중요합니다. FILE1은 이전에 저장된 FILE2와 일치하는지 여부에 관계없이 인쇄되므로 마지막으로 읽어야 합니다.