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

7

我是一个有用的助手,可以为您进行翻译。以下是需要翻译的内容:

我有一个UNIX日志文件,其中包含1000K行。文件的大部分都有以下几行:

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

我使用cat 文件名来读取文件。

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

我尝试了以下命令:

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

你能给我建议正确的命令吗?

1个回答

20

grep 能做到:

grep -v "'Read 0 Messages'" file

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

来自 man grep:

-v, --invert-match

反向匹配,选择不匹配的行。(-v在POSIX中被指定。)

此外,注意不需要使用 cat file | grep '...'。可以直接使用 grep '...' file


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接