2015-05-22 2 views
0

У меня есть xml-файл, и мне нужно вставить значение, содержащееся в переменной между PurchaseOrderNumber="99503". Например, если $value=001 у меня будет PurchaseOrderNumber="00199503". Я попробовал много команд с SED, но ничего работой последние один я пытался это sed '/^PurchaseOrderNumber=\"/s/^/001/' file.xml > output.xml вы можете мне помочь в этомЗначение вставки Sed при сопоставлении шаблона

<?xml version="1.0"?> 

     <PurchaseOrder PurchaseOrderNumber="99503" OrderDate="1999-10-20"> 
      <Address Type="Shipping"> 
      <Name>Ellen Adams</Name> 
      <Street>123 Maple Street</Street> 
      <City>Mill Valley</City> 
      <State>CA</State> 
      <Zip>10999</Zip> 
      <Country>USA</Country> 
      </Address> 
      <Address Type="Billing"> 
      <Name>Tai Yee</Name> 
      <Street>8 Oak Avenue</Street> 
      <City>Old Town</City> 
      <State>PA</State> 
      <Zip>95819</Zip> 
      <Country>USA</Country> 
      </Address> 
    </PurchaseOrder> 

ответ

1

Используйте правильный инструмент обработки XML для обработки XML. Например, я использовал xsh:

open file.xml ; 
insert text '001' prepend /PurchaseOrder/@PurchaseOrderNumber ; 
save :b ; 
+0

'xsh': наиболее удобной для пользователей unixy с открытым исходным кодом инструмент XML вокруг! Благодаря !!! – shellter

0

Thank, что работа, я также нашел способ, чтобы я разместить его, если это может помочь кому-

sed 's/PurchaseOrderNumber=\"/&001/' file.xml > output.xml 
Смежные вопросы