我想打印出一个包含一系列评论的文件:
</Directory> ErrorLog ${APACHE_LOG_DIR}/error.log # Possible values include: debug,info,notice,warn,error,crit,# alert,emerg. LogLevel warn CustomLog ${APACHE_LOG_DIR}/ssl_access.log combined # SSL Engine Switch:
实质上,该文件包含多个缩进级别,其中注释以#符号开头。
grep应该删除空行,以及在文本之前有哈希符号的行(意味着这些是注释)。
我知道可以通过以下方式删除空行:grep -v’^ $’
但是,如何使用前导空格删除行,然后删除#个符号,并仅打印出具有实际代码的行?我想用bash,使用grep和/或sed这样做。
用grep:
grep -v '^$\|^\s*\#' temp