ティーでgrepする方法?

ティーでgrepする方法?

コマンド出力に「rerun」(その後再実行)が含まれているかどうかを確認したいのですが、出力全体も表示したいと思います。次のいずれかを使用できることを知っています。

command | tee >(grep rerun)
command | grep rerun

最初は、期待どおりに出力全体を印刷しますが、常にゼロを返すため、条件として使用できません。 2 番目は rerun を含む行のみを印刷しますが、一致するものがない場合は 1 を返します。

私の使用例:

while pdflatex paper.tex | grep -E "rerun LaTeX|run Biber"; do
    biber paper
done

ここで提供された回答grepは常に0を返すので役に立ちません。

ベストアンサー1

ただ使用

command | tee outfile | grep rerun

または

while pdflatex paper.tex | tee outfile | grep -E "rerun LaTeX|run Biber"; do

grepコマンドのステータスを確認し、後で「output」ファイルを表示できます。

おすすめ記事