4 ms·
Natural sorting
- joeyh 17y agohttp://search.cpan.org/~sburke/Sort-Naturally-1.02/lib/Sort/Naturally.pm http://search.cpan.org/~sburke/Sort-Naturally-1.02/lib/Sort/... Available since 2001.
- jamesshamenski 17y agoYou should sell this to microsoft for millions.
- d0mine 17y agoIs it a sarcasm? It seems that Microsoft's StrCmpLogicalW() has exactly desired behavior. Besides it is trivial to implement: def natural_key(key): """See http://www.codinghorror.com/blog/archives/001018.html >>> L = 'a01 a9 b1 b10 b9'.split() >>> L.sort(key=natural_key) >>> ' '.join(L) 'a01 a9 b1 b9 b10' """ return [int(chunk) if chunk.isdigit() else chunk for chunk in re.split(r'(\d+)', key)]
- _delirium 17y agoIs there an easy way to get 'ls' to use this ordering?
- pavlo 17y agoThere is a nice "oneliner" in Ruby for that, created by Piers Cawley: http://j.mp/anfTlJ http://j.mp/anfTlJ And for python there is a nice Article on CodingHorror: http://j.mp/aCxlI3 http://j.mp/aCxlI3 Hope it's useful :)
- keefe 17y agoExcellent post. It's focused, unbiased, simple, covers a useful problem and includes source.
- inimino 17y agoAvailable in GNU userland as `sort -V`.