У меня есть файл со следующим содержимым (это .properties
файл из Java):Заменить точки в имени свойства, но не в стоимости недвижимости
product.company.url=http://www.example.com/
product.version=1.3.2
Мне нужно заменить все точки в имени свойства, но не в стоимости имущества. Итак, мой желаемый результат будет:
product_company_url=http://www.example.com/
product_version=1.3.2
Я попытался sed -r 's/\.(\w+)([^=]*)/_\1\2/' product.default.properties
, но это заменяет только первую точку. Я думаю, мне, возможно, придется использовать lookaheads или lookbehinds, но я не знаю, возможно ли это, потому что длина утверждения будет переменной. Также может быть переменное количество точек в имени свойства.
Можно ли это сделать с помощью одного вкладыша?
Это прекрасно! Большое спасибо (я не могу принять ответ еще, сделаю это через 10 минут) – jvallver
@jvallver мой ответ может решить вашу проблему. однако я бы сказал, что соглашение об именах имени prop в файле свойств java имеет «точка», а не подчеркивание. – Kent
Я знаю, но у меня проблемы с Дженкинсом, интерпретирующим свойства с точками в их именах, используя плагин EnvInject. Я пытаюсь сделать это как обходной путь в одной конкретной сборке, но обычно я использую свойства, разделенные точками :) – jvallver