我有一个很长的配置文件,几乎没有注释和取消注释的行现在我想打印出取消注释的行
# LOCAL PATHNAME INFORMATION
#
# The queue_directory specifies the location of the Postfix queue.
# This is also the root directory of Postfix daemons that run chrooted.
# See the files in examples/chroot-setup for setting up Postfix chroot
# environments on different UNIX systems.
#
queue_directory = /var/spool/postfix
# The command_directory parameter specifies the location of all
# postXXX commands.
#
command_directory = /usr/sbin
我希望输出是没有注释的行
队列目录 = /var/spool/postfix
命令目录 = /usr/sbin
答案1
egrep -a -v '^[[:space:]]*#' config_file | egrep -a '[[:print:]]' | less
将考虑 # 之前的空格。将其通过管道传输到 less,您可以轻松查看
用 $1 替换 config_file,并将该行放入 /usr/local/bin/cless 并对其进行 chmod +x,这样您就可以在需要时获得漂亮的小脚本。
cless config_file
答案2
假设注释行的第一个位置以“#”开头:
grep -v '^#' config_file
将打印文件“config_file”中所有不以“#”开头的行。