我想打印文件的内容,但我想忽略所有以 # 开头的行。我正在用 grep 和 awk 尝试一些东西,但它一直在打印整个文件,或者只是打印以 # 开头的行。我你可以用正确的方式给我一个推送,或者一个 grep/awk 命令,它会打印文件中不以 # 开头的任何行。
问问题
23264 次
5 回答
25
使用-v
选项grep
来否定条件:
grep -v '^#' file
于 2013-03-09T22:22:05.093 回答
6
您可以使用!
运算符:
awk '!/^ *#/ { print; }'
这否定了匹配的结果。我还包括了以空格和 # 开头的行,但您可以根据自己的喜好定制正则表达式。
于 2013-03-09T22:21:57.563 回答
4
#
您可以使用 grep 排除所有以使用该-v
选项开头的行
grep -v '^#' filename
如果你喜欢sed
:
sed '/^#/d' filename
于 2013-03-09T22:24:00.690 回答
3
这也会在 : 之前省略带有空格的行#
:
awk '$1!~/^#/' file
或者
grep -v '^[[:blank:]]*#' file
于 2013-03-09T22:48:15.380 回答
1
这是 grep PCRE 方式,
grep -P '^(?!#)' file
于 2017-08-28T11:02:50.683 回答