sed は # で始まるが # で始まらない行を削除します。 (シェルスクリプト)

sed は # で始まるが # で始まらない行を削除します。 (シェルスクリプト)

を使用して行を削除するには、#次の行を使用できます。

sed -i "/^\(\\s\)*\\#/d"

しかし、私が望むのは、#代わりにで始まる行を削除することです#!

ベストアンサー1

sed -i -e '/^\s*#\([^!]\|$\)/d'

どこ:

  • ^行の始まり
  • \s*ゼロ個以上の空白文字
  • #ハッシュマーク
  • \([^!]\|$\)! その後に行の終わり以外の文字が続きます。

おすすめ記事