2012-06-15 113 views
1

不使用XML PARSER 我想獲取XML標記的內容,以便我的XML文件看起來像(包括多於XML這僅僅是XML部分)獲取XML標記的內容不在XML文檔中

<ns1:CarrierServiceId>PD_PRIVATPAKKER_W</ns1:CarrierServiceId> 
<ns1:LabellingReturned>0</ns1:LabellingReturned> 
<ns1:DeliveryDate>2012-07-27T23:00:00Z</ns1:DeliveryDate> 
<ns1:DespatchDate>2012-07-26T22:59:59Z</ns1:DespatchDate> 
<ns1:International>0</ns1:International> 
<ns1:ClearanceDocumentation>0</ns1:ClearanceDocumentation> 
<ns1:ExceptionCode>0</ns1:ExceptionCode> 

我怎麼會得到CarrierServiceId的內容,所以我只得到PD_PRIVATPAKKER_W沒有別的我已經成功地得到使用下面的線,但我需要的內容

FOUND=$(awk '/<ns1:CarrierServiceId>/ {print $1}' TEST.tmp) 

echo "${FOUND}" 

回答

1

使用角度括號作爲分隔符並打印該字段。

FOUND=$(awk -F '[<>]' '/<ns1:CarrierServiceId>/ {print $3}' TEST.tmp) 
+0

由於其工作。 – ahmet

1

隨着grep

grep -Po '(?<=CarrierServiceId>).*?(?=<)' inputFiles