如何使用grep过滤管道信息,如果找到单词则过滤所有内容

时间:2014-02-16 21:35:18

标签: linux bash grep

我想输入grep,如果找到了单词,我想忽略整个块,如

command | grep -v nothing && echo "disregarded block" || (echo the entire block of data)

bash文件中的所有内容......

有什么建议吗?

2 个答案:

答案 0 :(得分:1)

buf=$(tmpfile)
command > $buf
if grep -vq "nothing" $buf; then echo 'disregarded block'; else cat $buf; fi
unlink $buf

答案 1 :(得分:0)

如果命令没有输出任何NUL字符,使用GNU grep(通常在许多基于Linux内核的系统上找到),你可以这样做:

command | grep -zv nothing