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