On March 14, 2022 3:38:43 PM GMT+01:00, "Ludovic Bellière" <belliere.ludo...@proximus.be> wrote: > 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.
Thank you very much, adding 'stdbuf -o0' before 'tr' indeed solved the issue - and saves my sanity :-) But I still do not understand, why this happens only with 'dd' and not with e.g. 'rsync', as it is tr's output, which I have to unbuffer... $ rsync -az --info=progress2 $SOURCE $TARGET/ | tr '\r' '\n' > /tmp/logmailer & logmailer.sh vs. $ dd if=/dev/zero of=/dev/null bs=4M count=1000 status=progress 2>&1 | tr '\r' '\n' > /tmp/logmailer & logmailer.sh -- [message sent otg] _______________________________________________ Dng mailing list Dng@lists.dyne.org https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/dng