【发布时间】:2017-08-08 20:44:11
【问题描述】:
假设我有一个配置文件 (stuff.conf),它看起来像这样(我的真实文件大约 1000 行):
# Some comment
foo=bar
# Other comment
foobar=barfoo
# Another one
abc=123 # inline comment
....
我想在这个文件中显示有效值,没有任何 cmets 或空行。我想打印的是这个:
foo=bar
foobar=barfoo
abc=123
...
我可以用这个去掉空行和注释行:
cat stuff.conf | grep -v "#" | grep -v "^$"
但它也会删除注释标记 (#) 不在行首的行(例如:abc=123 # inline comment)。输出如下所示:
foo=bar
foobar=barfoo
...
问题:
如何才能显示所有不以# 开头的行或空白行?在abc=123 # inline comment 的特殊情况下,我不在乎是否显示行尾的注释。
【问题讨论】:
-
你需要保留制表/缩进还是剥离它?
-
保留制表符/缩进会很好;但如果您有一个不保留制表符/缩进的解决方案,那也没关系