我有一個看起來像這樣一個XML文件,我只想要替換/裝運期/ ShipHdr/ShipmentX最後一次出現:Linux的bash腳本 - 替換字符串中最後一次出現在文件中
<ShipmentX>
<ShipHdr>
<RefID>REF01</RefID>
<HeaderReferenceNumber>1234565</HeaderReferenceNumber>
<Shipment>
<RefCode>GHIJK</RefCode>
<ShipmentStatusCode>FG</ShipmentStatusCode>
</Shipment>
<Summary>
<TotalWeight>10</TotalWeight>
</Summary>
</Shipment>
輸出:
<ShipmentX>
<ShipHdr>
<RefID>REF01</RefID>
<HeaderReferenceNumber>1234565</HeaderReferenceNumber>
<Shipment>
<RefCode>GHIJK</RefCode>
<ShipmentStatusCode>FG</ShipmentStatusCode>
</Shipment>
<Summary>
<TotalWeight>10</TotalWeight>
</Summary>
</ShipHdr>
</ShipmentX>
我如何能做到這一點用perl或者bash腳本sed的任何意見?
謝謝!
試試'perl -pe's/<\/Shipment> \ s * $/<\/ShipHdr> \ n <\/ShipmentX> /''。 –
這不會產生所需的結果,因爲它也會替換第一個出現的以及最後一個 – user3152289