Linux,打印一个文件中的所有行,而不是以

我想打印一个文件的内容,但是所有以#开始的行我想忽略。 我正在尝试一些与grepawk的东西,但它不断打印整个文件,或只是打印以#开头的行。 我可以给我一个正确的方法,或者一个grep / awk命令,在不以#开始的文件中打印anyline。

Solutions Collecting From Web of "Linux,打印一个文件中的所有行,而不是以"

使用grep-v选项来否定条件:

 grep -v '^#' file 

你可以用! 运营商:

 awk '!/^ *#/ { print; }' 

这否定了比赛的结果。 我还包括以空格和#开始的行,但是您可以调整正则表达式的方式。

您可以使用grep来排除以#开头的所有行,使用-v选项

 grep -v '^#' filename 

如果你是sed的粉丝:

 sed '/^#/d' filename 

这也会在#之前留下空白的行:

 awk '$1!~/^#/' file 

要么

 grep -v '^[[:blank:]]*#' file 

这是grep PCRE的方式,

 grep -P '^(?!#)' file