I know that one can define additional file descriptors for ad-hoc use. However, I see real use for a "stdmeta" file descriptor that would be supported by common CLI tools. This file descriptor would output lines that are not part of the data yet are not errors. How might one go about proposing such an addition to Unix or Linux?
One example usage would be to output the headers of commands such as ps:
$ ps
PID TTY TIME CMD
6394 pts/15 00:00:00 bash
10294 pts/15 00:00:00 ps
10295 pts/15 00:00:00 bash
If one were to wish to sort, grep or otherwise filter that output, one would have to either lose the header or have it get mixed up in the data. This can be worked around by redirecting the first line to stderr, or a myriad of different creative solutions, but it is obvious that those are all clunky ad-hoc and difficult to remember workarounds for the fact that there is no dedicated stdmeta file descriptor.
Another example is the output of curl
. Curl pipes metadata to stderr so that it can inform humans of the progress without adding complexity to applications to which might be piped its output. Again, this is the use of stderr as an substitute for the missing stdmeta.
Should I just write to the LKML and state my case? Since this would break compatibility with some Unix legacy apps, should I direct my case to a more Unixy body?