关于打印:Linux,打印文件中的所有行,而不是以

Linux, Print all lines in a file, NOT starting with

我想打印文件的内容,但是所有以#开头的行都想忽略。我正在尝试使用grep和awk进行操作,但是它一直在打印整个文件,或者只是打印以#开头的行。我可以以正确的方式推动我,或者执行grep / awk命令,该命令将在不以#。

开头的文件中打印任何行。


使用grep-v选项取消条件:

1
grep -v '^#' file


您可以使用!运算符:

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

这将否定比赛结果。我还包括了以空格开头的行,然后是#,但是您可以根据自己的喜好调整正则表达式。


您可以使用grep使用-v选项

排除所有以#开头的行

1
grep -v '^#' filename

如果您是sed的粉丝:

1
sed '/^#/d' filename


这也将在#之前保留空白行:

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

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

这是grep PCRE方式,

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