Я пытаюсь заменить текст в файле xml с помощью sed. Я могу заменить свой текст, но я хочу пропустить первый случай. Я использую 2g, но он не работает. Ошибка не отображается, но с файлом не происходит никаких изменений.
Мой Xml файл:
<file-min-size>10830</file-min-size>
<rotate-log>true</rotate-log>
<file-min-size>25600</file-min-size>
<rotate-log>true</rotate-log>
<file-min-size>32300</file-min-size>
<rotate-log>true</rotate-log>
<file-min-size>13456</file-min-size>
<rotate-log>true</rotate-log>
Мой ожидаемый результат:
<file-min-size>10830</file-min-size>
<rotate-log>true</rotate-log>
<file-min-size>25600</file-min-size>
<rotate-log>true insertvalue</rotate-log>
<file-min-size>32300</file-min-size>
<rotate-log>true insertvalue</rotate-log>
<file-min-size>13456</file-min-size>
<rotate-log>true insertvalue</rotate-log>
Я использую Команда ниже sed.
sed -i 's#</rotate-log>#insertvalue</rotate-log>#2g' myfile.xml
Команда выше не работает. если я удаляю 2g, то текст перепечатывается. Я хочу пропустить первый случай. Любая помощь ?
Также, когда я запускаю команду во второй раз, значения вводятся снова. Есть ли способ проверить и заменить только если нет в наличии?