コメント行からスペースを削除する方法は?

コメント行からスペースを削除する方法は?

次の内容を含むファイルがあるとします。

#plugin = eosio::producer_plugin
#plugin = eosio::producer_api_plugin

sed を使用して値のコメントを削除しようとすると失敗します。

sed -E '/plugin.*(producer_plugin)/s/^#//g' file.ini

#の前にスペースがあることに注意してください。

答え1

行の先頭で空白文字をスキップする必要がある場合は、次のことができます。

/^ *A/

カラット、スペース、アスタリスク、最初の有効な文字。これは、「行の先頭にゼロ個以上のスペースがあり、その後に文字Aがある」ことを意味します。

あなたの例では

sed -E '/plugin.*(producer_plugin)/s/^ *#//g' file.ini

特殊文字の説明はこちらをご覧ください。 https://en.wikipedia.org/wiki/Regular_expression#POSIX_basic_and_extended

関連情報