sed matchを使用している場合、行の最初の文字を削除する方法は?

sed matchを使用している場合、行の最初の文字を削除する方法は?

次の内容を含むテキストファイルがあります。

#[マルチライブラリ]

#[multilib]が存在する場合は、行から#を削除したいと思います。

私は試した:

sed -i 's/^#[multilib]/[multilib]/'

そして行から#は削除されません。

ベストアンサー1

[文字は]正規表現で特別です。リテラル文字列を一致させるにはエスケープする必要があります。

sed -i 's/^#\[multilib\]/[multilib]/' file
# or
sed -i -E 's/^#(\[multilib\])/\1/' file

おすすめ記事