小编MJH*_*JHd的帖子

为什么默认情况下 grep 不从 find 命令中删除终端输出行?

我经常对这个简单的命令感到沮丧:

find / | fgrep somestuff.ext
Run Code Online (Sandbox Code Playgroud)

当我不使用时sudo,我会得到一行又一行的拒绝权限——这很公平,但是当 grep 从管道读取它时,为什么没有忽略这个输出?

为什么这种形式的输出直接发送到终端窗口而不是传递到管道中(我怀疑必须发生这种情况)并随后被 grep 忽略,而 cat 生成的相同行(比如我有权限被拒绝的消息存储在文本中)文件)会正确进入管道并被我的 grep 模式忽略?

我觉得这里有一些关于 STDIN/STDOUT 过程的东西我不明白

shell grep bash pipe find

0
推荐指数
1
解决办法
525
查看次数

标签 统计

bash ×1

find ×1

grep ×1

pipe ×1

shell ×1