stderr を除外します。
make 2>/dev/null | grep -i 'warning: someone set up us the bomb'
例
$ ls
hello
$ ls hello bye
ls: cannot access bye: No such file or directory # <--- this is stderr
hello
$ ls hello bye 2>/dev/null # <--- stderr are sent to /dev/null, so don't appear
hello
コメントに見られるように、すべてのmake
出力は stderr として与えられるため、最初のソリューションは何にも一致しません。したがって、私の提案は以下を使用することです。
make 2> >(tee make_output.log >&2)
そして、make_output.log
. パイプで「tee」を使用しているときにstderrをファイルに書き込むにはどうすればよいですか?.
例
$ ls aaa
ls: cannot access aaa: No such file or directory
$ ls aaa 2> >(tee stderr.log >&2)
ls: cannot access aaa: No such file or directory
$ cat stderr.log
ls: cannot access aaa: No such file or directory