Я хотел бы заменить число другим номером в файле XML с помощью команды sed
.Конкретный параметр <l_num>
принимает значение от 0
до 16
.Итак, я использовал регулярное выражение, чтобы сделать это:
sed -i -r 's/<l_num>\b^[0-9]([0-9]*)$\b</<l_num>5</g' test.xml
Выше приведен ввод 5 и должен быть в состоянии выдать вывод в виде строки в test.xml
, как показано ниже, заменяя любое число между 0и 16, который уже есть:
<l_num>5</lnum>
По некоторым причинам это не работает.Ожидаемый результат от 0 до 16 и без начальных нулей для однозначных цифр.Например, если я заменю 5 выше на 05, он не должен обновлять XML-файл, когда я делаю это:
sed -i -r 's/<l_num>\b^[0-9]([0-9]*)$\b</<l_num>05</g' test.xml
Что здесь может быть не так?