「#」または「;」で始まらない行を見つける方法は?

「#」または「;」で始まらない行を見つける方法は?

smb.confgrepでコメントされていない行だけを見たいです。

ベストアンサー1

grep "^[^#;]" smb.conf

最初は^行の始まりを意味するので、最初の文字の後にコメントで始まる行は除外されません。または以外のすべての文字を[^#;]表します。#;

つまり、および以外の文字で始まる#行を報告します;#;使用する)で始まらないレポートラインとは異なりますgrep -v '^[#;]'いいですね。しかし、この場合は空行に興味があるかどうか疑わしいので、おそらくより良い選択肢でしょう。

先行する空白文字を無視するには、次のように変更できます。

grep '^[[:blank:]]*[^[:blank:]#;]' smb.conf

または

grep -vxE '[[:blank:]]*([#;].*)?' smb.conf

または

awk '$1 ~ /^[^;#]/' smb.conf

おすすめ記事