Patch for "doveadm -f table" nit (was Re: Dovecot current number of connections being used.)
Joseph Tam
jtam.home at gmail.com
Thu Mar 19 01:01:49 UTC 2015
On Thu, 19 Mar 2015, Timo Sirainen wrote:
>> You have to redirect stderr to /dev/null because that's where the
>> first header line is written to. The default format style (table)
>> is inconsistent with the other formats (flow,pager,tab) that write
>> headers and data to stdout.
>
> There's no reason why flow and pager should write headers to stderr
> because it would always result only in a mess.
Right.
> But instead of changing table headers to write to stdout, I think a
> better fix would be to make tab formatter write headers to stderr.
That would at least make the behaviour consistent.
> Including headers in stdout makes it more difficult to write scripts
> that access the actual data. For example now you can do "doveadm who
> -1 | sort" and the output will work. If headers were written to stdout
> you'd have to make it more complicated. Also you can now easily
> specify what you want to do with the headers, 2>/dev/null if you don't
> care about them or 2>&1 if you want to include them in stdout (which
> works even after |sort).
I agree with the easier parsing thing for scripts. It just a little
weird when you're doing piping interactively and the header pops out.
Another option is to add another flag/formatter that will squelch headers.
I'm cool with whatever you implement.
Joseph Tam <jtam.home at gmail.com>
More information about the dovecot
mailing list