why does "cut" print fields in original order?
Les Mikesell
lesmikesell at gmail.com
Wed Nov 21 07:09:16 UTC 2007
Robert P. J. Day wrote:
>>> nitpicky, yes, but it occasionally irritates me that "cut" will
>>> print fields, not in the order you specify them with the "-f" option,
>>> but in the original order in the source text, to wit:
>>>
>>> $ cut -d: -f1,7 /etc/passwd
>>> root:/bin/bash
>>> bin:/sbin/nologin
>>> daemon:/sbin/nologin
>>> ...
>>>
>>> $ cut -fd: -f7,1 /etc/passwd
>>> root:/bin/bash
>>> bin:/sbin/nologin
>>> daemon:/sbin/nologin
>>> ...
>>>
>>> is there really a reason that cut refuses to acknowledge the
>>> order of the fields as supplied by the user? some historical
>>> reason, perhaps, that we can now all make fun of and wonder what
>>> they were smoking at the time?
>> I don't see any indication from the man page that would lead one to
>> believe that cut will print in the order listed. I think you are
>> simply implying a behavior that was never intended.
>
> i understand that that's not indicated on the man page. on the other
> hand, is there any reason that it *wasn't* done that way? it would
> seem that that would be an obvious enhancement and, certainly, that
> would be more intuitive behaviour, no?
You need some reason to type:
sed -e 's/\(.*\):\(.*\):\(.*\):\(.*\):\(.*\):\(.*\):\(.*\)/\7:\1/'
--
Les Mikesell
lesmikesell at gmail.com
More information about the users
mailing list