次の内容のファイルがあります (これ.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
ましたが、これは最初のドットのみを置き換えます。先読みまたは後読みを使用する必要があるかもしれないと思いますが、アサーションの長さが可変になるため、それが可能かどうかはわかりません。また、プロパティ名にはさまざまな数のドットが含まれる場合があります。
ワンライナーでこれを行うことは可能ですか?