0
A
回答
1
在你的問題
不是真的足夠的信息,但有說24.00
你可以做替代的12.00
所有值:
$ sed 's/>12\.00</>24.00</g' file.xml
如果您對結果感到滿意,你可以使用-i
選項並將其存儲回:
$ sed -i 's/>12\.00</>24.00</g' file.xml
更rubust比賽將是:
$ sed -r 's_(<amount quantity="[0-9]+">)12.00(</amount>)_\124.00\2_g' file.xml
但是,你應該真正地解析XML,而不是強制regexp去做一些它沒有設計的東西。
+0
我打算建議使用結束標記''來定義搜索模式,當然後面是'12.00'。這可以避免出現在其他情況下的問題。 – hardmath 2013-04-08 14:39:31
+0
@hardmath可能會更好,但由於OP提供的信息很少,所以不可能說。 – 2013-04-08 14:41:23
0
script.sh:
#!/bin/bash
xml="<amount quantity="1">12.00</amount>"
newxml=`echo $xml | sed -n "s/\(<amount[^>]*>\)\([^<]*\)\(<\/amount>\)/\113.37\3/gp"`
echo "$newxml"
結果:
$ ./script.sh
<amount quantity=1>13.37</amount>
相關問題
- 1. 替換爲一個XML文件的內容sed的
- 2. sed:替換一段文本
- 3. sed替換xml標記
- 4. SED,AWK替換XML元素
- 5. sed替換一組文件字符串
- 6. sed文本替換
- 7. sed文本替換
- 8. sed替換文本
- 9. SED替代XML
- 10. 一個sed命令的多個替換
- 11. 替換AWK的XML文件的部分或sed的
- 12. sed的查找和替換在XML文件中的值
- 13. Sed搜索和替換XML文件中的路徑
- 14. 使用sed查找並替換爲xml文件
- 15. sed的:搜索一個文件,並替換線
- 16. sed從另一個文件的內容逐行替換
- 17. 如何用sed替換同一個文件中的很多行?
- 18. 用sed awk來替換在另一個文件
- 19. 用sed從文件中替換一個詞linux
- 20. 用SMTP變量替換SED中的一個模式文件
- 21. sed用替換替換整個行
- 22. SED查找和替換 - MapReduce文件
- 23. sed unicode替換文件和字符串
- 24. 搜索和在Linux(SED)替換文件
- 25. 查找和sed:如何替換文件?
- 26. 在AQL文件中sed替換
- 27. sed命令來替換XML標籤
- 28. 使用(超)Sed搜索和替換.xml
- 29. 使用sed替換xml標記
- 30. sed替換文字TAB
雖然'sed'是許多文本文件的操作非常靈活的工具,ESP。與其他支持管道的shell命令結合使用,對於快速而骯髒的XSLT傳遞而言,這似乎是一個更好的任務。 – hardmath 2013-04-08 15:35:36