単語に一致する行を削除するのは簡単です
たとえば、単語に一致する行を削除したい場合 -max.connections
sed '/max.connections/d' /home/conf.txt
しかし、次の一致行とコメントで始まる行だけを削除するにはどうすればよいですか?
more /home/conf.txt
#max.connections=438473
# max.connections=438473
# max.connections=438473
# max.connections=438473
max.connections=438473
注 - コメントは最初に来ることも、スペースを含めることもできます。
予想出力の例
more /home/conf.txt
max.connections=438473
答え1
あなたのニーズに正確に合う正規表現を作成するのが技術です。この例では、aで始まり#
、いくつかの文字が含まれてから、行が一致するようにしますmax.connection
。正規表現では次のようになります。
^ beginning of the line
# The character '#'
.* any character, may be repeated 0-infinity times
max.connections This litteral text
またはsed
コマンドとして:
sed '/^#.*max.connections/d' /home/conf.txt