我正在尝试使用sed用单词ReplacedTxt替换单词hashTree的第二个实例,并更新文件Test1.jmx。由于某些原因,替换和文件更新无法正常工作。-有任何想法吗?

sed -i '' 's/hashTree/ReplacedTxt/2' Test1.jmx


Test1.jmx是我要更新的文件。

<?xml version="1.0" encoding="UTF-8"?>
<jmeterTestPlan version="1.2" properties="2.8" jmeter="2.13 r1665067">
  <hashTree>
    <hashTree>
  </hashTree>
</jmeterTestPlan>

最佳答案

假设您的文件实际上是有效的XML(即第四行是<hashTree/>而不是<hashTree>),则可以使用xmlstarlet进行操作:

xml ed -r '/jmeterTestPlan/hashTree/hashTree' -v ReplacedTxt Test1.jmx

关于linux - sed替换第n次出现并保存到同一文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31490984/

10-11 16:59