TREC format에 7GB XML 문서가 있습니다. 이 파일에는 DOC
이라는 태그가 있으며 여기에는 DOCNO
및 TEXT
이 있습니다.ID 목록을 기반으로 XML 문서 필터링
<FILE>
<DOC>
<DOCNO>abc</DOCNO>
<TEXT>content
of first
doc</TEXT>
</DOC>
<DOC>
<DOCNO>def</DOCNO>
<TEXT>content
of second
doc</TEXT>
</DOC>
<DOC>
<DOCNO>ghi</DOCNO>
<TEXT>content
of third
doc</TEXT>
</DOC>
</FILE>
나는이 문서를 필터링 할 및 는 만 DOC
이의 ID의 목록이 포함 된 파일에 DOCNO
유지 :
abc
ghi
그래서 출력이
<FILE>
<DOC>
<DOCNO>abc</DOCNO>
<TEXT>content
of first
doc</TEXT>
</DOC>
<DOC>
<DOCNO>ghi</DOCNO>
<TEXT>content of
third
doc</TEXT>
</DOC>
</FILE>
됩니다를
내 생각에 xml_grep
이 유용 할 것입니다. , 그러나 나는 그것을 할 수 없었다.
'XMLStarlet'을 사용하여'DOC' 요소를 얻고,'awk'를 검사하여 pri로 시도해 볼 수 있습니다 'DOCNO'가'abc, ghi'와 같은 요소 만 있습니다. 그것을 시도 했습니까, 아니면 bash에서 필요합니까? – tftd
Thanks @tftd. 나는 단지 id의 목록이 파일에 있음을 강조하고 싶다. 그들 중 4 백만 명이 있습니다. – mossaab
'DOCNO' 콘텐츠를 가져 와서 파일에 저장하고 싶거나'DOCNO'에 특정 문자열이 들어있는'DOC' 요소를 모두 가져오고 싶습니까? 파일 길이와 관련해서는 많은 양의 데이터가 필요합니다. 시스템에 따라 모든 것을 구문 분석하고 저장하는 데 시간이 걸릴 수 있습니다. – tftd