這是我的問題:我有一個xml文件太重(60 MB),所以我想要檢索特定標記之間的文本。使用AWK檢索特定XML標記之間的文本
我的XML是這樣的:所以我會檢索屬於PrimaryCategory標籤,其中PrimaryCategoryID = 3
<PrimaryCategory>
<PrimaryCategoryID>3</PrimaryCategoryID>
<PrimaryCategoryName>Billets de concert</PrimaryCategoryName>
<PrimaryCategoryURL>http://www.viagogo.fr/Billets-de-concert</PrimaryCategoryURL>
<CategoryList>
<CategoryID>13632</CategoryID>
<CategoryName>Ron Sexsmith</CategoryName>
<CategoryURL>http://www.viagogo.fr/Billets-de-concert/Pop-Rock/Ron-Sexsmith-Billets</CategoryURL>
<CategoryImageURL>http://cdn1.viagogo.net/img/cat/1207/2/1.jpg</CategoryImageURL>
<CategoryDescription />
</CategoryList>
<CategoryList>
<CategoryID>27605</CategoryID>
<CategoryName>Theme Park</CategoryName>
<CategoryURL>http://www.blalbalbla.com</CategoryURL>
<CategoryImageURL>http://www.blalbalbla.com</CategoryImageURL>
<CategoryDescription />
</CategoryList>
<CategoryList>
<CategoryID>21935</CategoryID>
<CategoryName>Idina Menzel</CategoryName>
<CategoryURL>http://www.blalbalbla.com</CategoryURL>
<CategoryImageURL>http://www.blalbalbla.com</CategoryImageURL>
<CategoryDescription />
<EventList>
<EventID>740520</EventID>
<EventName>Idina Menzel</EventName>
<EventDate>2015-06-26T20:00:00</EventDate>
<EventURL>http://www.blalbalbla.com</EventURL>
<VenueID>175</VenueID>
<VenueName>Bournemouth International Centre (BIC)</VenueName>
<VenueAddress>Exeter Road</VenueAddress>
<VenueCity>Bournemouth</VenueCity>
<VenueState />
<VenueCountryCode>GB</VenueCountryCode>
<VenuePostCode>BH2 5BH</VenuePostCode>
<MinCurrentPrice>90.4500</MinCurrentPrice>
<MaxCurrentPrice>213.0700</MaxCurrentPrice>
<AvailableTickets>14</AvailableTickets>
<OnSaleDate>2014-12-03T18:24:00</OnSaleDate>
</EventList>
<PrimaryCategory>
<PrimaryCategoryID>2</PrimaryCategoryID>
<PrimaryCategoryName>concert</PrimaryCategoryName>
<PrimaryCategoryURL>http://www.blalbalbla.com</PrimaryCategoryURL>
<CategoryList>
<CategoryID>13632</CategoryID>
<CategoryName>Ron Sexsmith</CategoryName>
<CategoryURL>http://www.blalbalbla.com</CategoryURL>
<CategoryImageURL>http://www.blalbalbla.com</CategoryImageURL>
<CategoryDescription />
</CategoryList>
<CategoryList>
<CategoryID>25605</CategoryID>
<CategoryName>blablabal</CategoryName>
<CategoryURL>http://www.blalbalbla.coms</CategoryURL>
<CategoryImageURL>http://www.blalbalbla.com</CategoryImageURL>
<CategoryDescription />
</CategoryList>
<CategoryList>
<CategoryID>21935</CategoryID>
<CategoryName>Idina Menzel</CategoryName>
<CategoryURL>hhttp://www.blalbalbla.com</CategoryURL>
<CategoryImageURL>http://www.blalbalbla.com</CategoryImageURL>
<CategoryDescription />
<EventList>
<EventID>749820</EventID>
<EventName>Idina Menzel</EventName>
<EventDate>2015-06-26T20:00:00</EventDate>
<EventURL>http://www.blalbalbla.com0</EventURL>
<VenueID>175</VenueID>
<VenueName>Bournemouth International Centre (BIC)</VenueName>
<VenueAddress>Exeter Road</VenueAddress>
<VenueCity>Bournemouth</VenueCity>
<VenueState />
<VenueCountryCode>GB</VenueCountryCode>
<VenuePostCode>BH2 5BH</VenuePostCode>
<MinCurrentPrice>90.4500</MinCurrentPrice>
<MaxCurrentPrice>213.0700</MaxCurrentPrice>
<AvailableTickets>14</AvailableTickets>
<OnSaleDate>2014-12-03T18:24:00</OnSaleDate>
</EventList>
</CategoryList>
</PrimaryCategory>
所以我會檢索屬於PrimaryCategory其中PrimaryCategoryID = 3
這很可能使用awk,但它不是正確的工具。我建議你看看使用XML解析器。 – 2015-02-06 11:05:36
並非所有的計算機都安裝了適當的工具,並且可以安裝的工具有限制。作爲一個例子,Ubuntu沒有標準的'xmllint'。但我同意,最好的方法是使用正確的工具。 – Jotne 2015-02-06 12:00:34
發佈預期的輸出。我們可能並不都知道'檢索特定標籤之間的文本'和'檢索標籤'對您意味着什麼。並減少你的樣本輸入 - 我敢肯定,它是十幾行,每行20個字符,而不是50行100個字符,或者這將幫助我們更清楚地看到你的問題。 – 2015-02-06 13:36:41