我想打印文件的内容,但所有以#开头的行都要忽略。我正在用grep和awk尝试一些东西,但是它一直打印整个文件,或者只是打印以#开头的行。我可以用正确的方式给我一个推送,或者一个grep / awk命令,它会在文件中打印任何不以#开头的行。
答案 0 :(得分:19)
使用-v
的{{1}}选项取消条件:
grep
答案 1 :(得分:5)
您可以使用!
运算符:
awk '!/^ *#/ { print; }'
这否定了比赛的结果。我还包括以空格开头然后是#的行,但你可以根据自己的喜好定制正则表达式。
答案 2 :(得分:4)
您可以使用grep使用#
选项排除以-v
开头的所有行
grep -v '^#' filename
如果你是sed
的粉丝:
sed '/^#/d' filename
答案 3 :(得分:3)
这也会在#
:
awk '$1!~/^#/' file
或
grep -v '^[[:blank:]]*#' file
答案 4 :(得分:1)
这是grep PCRE方式,
grep -P '^(?!#)' file