Это, наверное, что-то действительно глупое, и я прошу прощения, если это так.Я не знаю точно, что искать, и мне не повезло с поисками, которые я провел за последние полчаса или около того.В любом случае ...
Итак, я хочу автоматизировать внесение простого изменения в xml с помощью perl как части процесса сборки.Это изменение, которое я делаю, оно является частью файла конфигурации с именем mapred-site.xml
<property>
<name>yarn.app.mapreduce.am.resource.mb</name>
- <value>1024</value>
+ <value>4096</value>
</property>
У меня есть замена регулярного выражения Perl, которая делает именно то, что мне нужно, пока я не изменю этоFOO
до 4096
cat mapred-site.xml | perl -p0e "s/(yarn.app.mapreduce.am.resource.mb<\/name>\s*?<value>)....(<\/value>)/\\1FOO\\2/s"
Догадываясь, что проблема в том, что рядом с \\1
имеются цифры, относящиеся к первой части, и он вытягивает их и пытается выполнить \\14096
или подобное, но я не смог придумать решение.
Я извиняюсь, если сама команда небрежна / неэффективна, я все еще только начинаю с этими командами.