Sed

如何取消註釋空白行?

  • January 13, 2022

假設我有一個包含以下內容的文件:

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

如果我嘗試使用 sed 取消註釋值,它將失敗:

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

需要注意的是,# 之前有一個空格。

如果您需要在行首跳過空格字元,您可以執行以下操作:

/^ *A/

插入符號、空格、星號、第一個重要字元。什麼意思是“在行的開頭,有零個或多個空格,後跟字母 A”。

在你的例子中

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

閱讀此處了解特殊字元的描述: https ://en.wikipedia.org/wiki/Regular_expression#POSIX_basic_and_extended

引用自:https://unix.stackexchange.com/questions/686277