태그 간 정보 추출 [중복]

태그 간 정보 추출 [중복]

텍스트 파일이 있고 다음은 파일 내용의 예를 보여줍니다.

1234장 새로운 호메오도메인 코딩 유전자는 <category="Modifier">근긴장성 이영양증</category> 불안정(CTG) n 반복에 의해 중단된 큰 CpG 섬과 연관되어 있습니다. <category="SpecificDisease">근긴장성 이영양증</category> ( <category="SpecificDisease">DM</category> ) 및 (CTG) 단백질 키나제를 코딩하는 3개의 비번역 영역에서 n 트리뉴클레오티드 반복 관련 유전자 DMPK가 증폭되고 매핑되었습니다. 염색체 19q13에. 3. 현재까지, 환자 조직에서 이 유전자 발현의 특성화는 DMPK mRNA의 정상 상태 수준의 변화 및 궁극적으로 증폭 존재 시 DMPK 단백질 수준의 변화에 ​​관해 상충되는 데이터를 산출해 냈습니다. 19번 염색체의 <category="Modifier">DM</category> 영역은 유전자가 풍부하며, 반복적인 확장은 근처의 많은 전사 단위의 기능 장애로 이어질 수 있으며, 이는 염색질 손상의 결과일 수 있습니다. . DMPK의 3말단 CpG 섬과 관련된 유전자를 검색했습니다. 이 영역의 시퀀싱을 통해 섬이 3.5kb 이상으로 확장되고 (CTG) n 반복에 의해 중단되는 것으로 나타났습니다. 인간과 마우스 반복의 게놈 서열 하류(중심절)를 비교하여 상당한 상동성을 갖는 영역을 확인했습니다. 이는 호메오도메인 단백질을 코딩하는 것으로 예측되는 유전자의 엑손에 해당합니다. RT-PCR 분석에 따르면 <category="Modifier">DM</category> 유전자좌 관련 호메오도메인 단백질(DMAHP)이라고 부르는 이 유전자가 골격근, 심장 및 뇌를 포함한 많은 인간 조직에서 발현되는 것으로 나타났습니다. .

태그 사이의 콘텐츠를 추출해야 합니다. 예를 들면 다음과 같습니다.

<category="SpecificDisease">Myotonic dystrophy</category>

추출해야해요"근긴장성 이영양증"새 텍스트 파일에 씁니다.

답변1

grep태그 사이의 텍스트를 찾은 다음 태그 자체를 제거하여 sed이 작업을 수행 할 수 있습니다 .

$ grep -oP '<category.+?>.*?</category>' file.txt | sed 's/<.*>\(.*\)<.*>/\1/'
myotonic dystrophy
Myotonic dystrophy
DM
DM
DM

설명하다

  • grep -oP: -P할 수 있게 하다폴리 메라 제 연쇠 반응grep일치하는 문자열만 인쇄 하도록 합니다 -o.
  • '<category.+?>.*?</category>': grep여는 태그와 닫는 태그 category사이의 모든 항목을 검색하라는 의미입니다.
  • sed 's/<.*>\(.*\)<.*>/\1/': 위의 출력은 grep파이프로 연결되어 sed태그를 해당 내용으로 대체하여 간단히 제거합니다(여기서는 \1태그를 캡처하는 데 괄호가 사용되기 때문입니다).

답변2

이 작업은 PCRE를 통해 수행할 수 있습니다. 지금까지 시도했지만.. 아직 완전히 이해하지 못했습니다..

다음은 제가 시도하고 작동 중인 작업의 예입니다.

grep -oP '(?:<category=[A-Za-z\"\s]*>)[A-Za-z\s]+(?:<\/category>)' input|\
awk -F">" '{split($2,a,"<"); print a[1]}'

관련 정보