管道进度报告

管道进度报告

假设我正在运行这样的管道:

cat input.txt | foo | bar | baz | last_step > result.txt

有没有办法让 shell 在执行时将每个步骤打印到 stderr?

我知道如果命令foobar本身打印到 stderr 它将完成此操作。但是,我希望有一个不依赖于提供进度信息的管道步骤的通用解决方案。

答案1

我能找到的最好的方法是这样的:

cat input.txt \
    | foo | pv -N "foo" \
    | bar | pv -N "bar" \
    | baz | pv -N "baz" \
    | last_step | pv -N "last_step" > result.txt

但我不确定是否有更好的方法。

相关内容