tag 11900 + notabug
close 11900
stop

On 07/10/2012 08:42 AM, j...@smartots.com wrote:
> echo -e "1 qFeb\n1 qJan" | sort -k2.2,2.5M

Yep that's a tricky one, but specified by POSIX.
--debug is very useful here...

$ echo -e "1 qFeb\n1 qJan" | sort --debug -k2.2,2.5M
sort: using ‘en_US.utf8’ sorting rules
sort: leading blanks are significant in key 1; consider also specifying 'b'
1 qFeb
  ^ no match for key
______
1 qJan
  ^ no match for key
______


Now you might think you can just specify -b, but...

$ echo -e "1 qFeb\n1 qJan" | sort --debug -b -k2.2,2.5M
sort: using ‘en_US.utf8’ sorting rules
sort: leading blanks are significant in key 1; consider also specifying 'b'
sort: option '-b' is ignored
1 qFeb
  ^ no match for key
______
1 qJan
  ^ no match for key
______


So you might then think you could add 'b' to the full key, but...

$ echo -e "1 qFeb\n1 qJan" | sort --debug -b -k2.2,2.5Mb
sort: using ‘en_US.utf8’ sorting rules
sort: leading blanks are significant in key 1; consider also specifying 'b'
1 qFeb
  ^ no match for key
______
1 qJan
  ^ no match for key
______


So what you really need to do is:

$ echo -e "1 qFeb\n1 qJan" | sort --debug -k2.2b,2.5Mb
sort: using ‘en_US.utf8’ sorting rules
1 qJan
   ___
______
1 qFeb
   ___
______

cheers,
Pádraig.



Reply via email to