Hello Florian,

The output isn't going anywhere, it's simply being buffered. It's a
default when a tool doesn't specify buffering behavior for stdout. In a
chained pipe, the output will only start being sent once the buffer gets
full. That is to avoid heavy use of resources in case the tasks involved
are verbose.

You can change that behavior by using `unbuffer` or `stdbuff`. Check the
man pages for more information.

Cheers,
                Ludovic

On Mon, 14 Mar 2022, Florian Zieboll via Dng wrote:

Hallo list,

may I ask for support with redirecting piped / processed stderr to a file?

dd prints it's progress to stderr, I can redirect it to a file:
$ dd if=/dev/zero of=./zeroes bs=4M count=1000 status=progress 2> ./file

Now I want to get rid of the CR and can print to the console as expected:
$ dd if=/dev/zero of=./zeroes bs=4M count=1000 status=progress 2>&1 | tr '\r' 
'\n'

But if I redirect tr's output to a file (or pipe it otherwise), it 
"disappears": Empty console and empty file.
$ dd if=/dev/zero of=./zeroes bs=4M count=1000 status=progress 2>&1 | tr '\r' '\n' 
> ./file

Where is it going resp. how do I catch it?

Thanks a lot in advance!
Florian

Attachment: signature.asc
Description: PGP signature

_______________________________________________
Dng mailing list
Dng@lists.dyne.org
https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/dng

Reply via email to