Bash / Shell输出grep / sed无法获得

时间:2013-08-21 14:53:54

标签: bash shell sed grep

我发现某些命令中的某些行是“不可读”的。一个很好的例子,如果你有一个git存储库:

git ls-remote | grep inexistent-match

无论如何,它返回第一行“来自git@github.com:[...]”(或类似的东西)。

我甚至不知道它是什么,所以如果线程已经存在,我很抱歉。

我如何grep / sed这些第一个输出?

谢谢你们!

2 个答案:

答案 0 :(得分:4)

当某些数据进入stdout

时,您只会抓取stderr

尝试git ls-remote 2>&1 | grep inexistent-match

2>&1会将stderr重定向到stdout

答案 1 :(得分:0)

试试这个:

$ git ls-remote > /dev/null

无法删除的行是否仍然显示?试试这个:

$ git ls-remote 2> /dev/null

ungrepable 行是否消失?

如果是,Oliver Matthews是正确的。