GREP-Q"有什么意义? [英] What is the point of "grep -q"

查看:0
本文介绍了GREP-Q"有什么意义?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在阅读grep手册页时遇到了-q选项,它告诉grep"不向标准输出写入任何内容。如果找到任何匹配项,则立即以零状态退出,即使检测到错误也是如此。"

我不明白为什么这会是可取的或有用的行为。在一个程序中,谁的理由似乎是从标准输入、进程、写入标准输出中读取的,我为什么要完全将其静音?

在什么情况下,使以输出为目标的程序静默是有用的?为什么有人要完全忽略错误并强制执行成功的返回代码?

谢谢!

推荐答案

grep的退出状态不一定表示错误;它表示成功失败grep将成功定义为匹配1行或多行。失败包括匹配零行、某些其他错误,这些错误从一开始就阻止了匹配。

-q在您不关心哪些行匹配时使用,只关心某些行匹配。

if grep -q foo file.txt; then
    echo "file.txt contains foo"
else
    echo "file.txt does not contain foo"
fi

这篇关于GREP-Q"有什么意义?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆