|
From: | Kaz Kylheku (Coreutils) |
Subject: | RE: coreutils feature requests? |
Date: | Wed, 19 Jul 2017 07:21:33 -0700 |
User-agent: | Roundcube Webmail/0.9.2 |
On 19.07.2017 06:29, Nellis, Kenneth wrote:
From: Steeve McCauleyI can't believe I'd never thought of reordering output columns like this. FWIW, I agree that another option should be used to prevent issues with backward compatibility.$ echo 1,2,3,4,5,6 | cut -d, -f3,5,2 2,3,5 $ echo 1,2,3,4,5,6 | cut -d, -f3,5,2 -o 3,5,2 Should this be extended to character output as well? echo output | cut -c6,4,2 -o tpuAbsolutely! It would be expected behavior (IMHO). I see no reason not to.
POSIX expends considerable text in requiring that the fields constitute a set, and are de-duplicated and put into order. (Quoted in earlier message.) So indeed, the behavior cannot just be changed to match theQNX "cut", not just because of backward compatibility (always the primary
concern) but standard conformance also (close second). QNX has a conformance bug here. I wouldn't continue to rely on it.
In addition, so that scripts can work across platforms, I (strongly) recommend that a cut-specific environment variable be defined to allow specifying the field ordering behavior. In that way my QNX 4 script (whose cut would balk atthe -o option) would work with Gnu. One possibility:
On the other hand, I hope I'm not alone in behind opposed to introducing new global variables which alter language or tool semantics. Scripts can target multiple implementations of a command by defining a wrapping function rather than a magic global variable.A portable script cannot rely on cut having order-preserving fields anyway.
Everyone in POSIX-land implementing different features and then using a zoo of environment variables to emulate each other's features and quirks would be unmanageable.
[Prev in Thread] | Current Thread | [Next in Thread] |