我正在尝试使用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/