Unix 命令获取不包含特定文本的行

Unix command to get lines not containing certain text

我有一个包含 1000K 行的 UNIX 日志文件。大多数文件有行:

07 Apr 2015 17:54:23.854: Read 0 Messages

我使用 cat filename

读取文件

我想阅读不包含特定文本的行 -'Read 0 Messages'

我尝试了以下命令:

cat filename|grep '^{Read 0 Messages}'
cat filename|grep '!{Read 0 Messages}'

你能告诉我正确的命令吗?

grep可以做到:

grep -v "'Read 0 Messages'" file

-v 选项用于指示您不想 打印的内容。

来自man grep

-v, --invert-match

Invert the sense of matching, to select non-matching lines. (-v is specified by POSIX.)

此外,请注意没有必要 cat file | grep '...'。你可以直接说grep '...' file.