コマンド出力に「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」ファイルを表示できます。