This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Inconsistency with sort -n?


`sort -n' and `sort -g' work inconsistently with 0 and -0 if there are leading spaces.  Sometimes -0 is before 0, as I would expect, and sometimes it is afterwards.  Adding `-b' does not seem to help.

Is this where I should report it or should I go upstream?

In case you are wondering why I want to do this:  I'm counting items in a bin so the bin from -1 to 0 and 0 to +1 are different.

Please excuse the excessive number of examples.

Happy Gregorian New Year!

- Barry
  Disclaimer: Statements made herein are not made on behalf of NIAID.
________________

$ echo 0 -1 -0 1 | tr ' ' '\n' | sort -n
-1
-0
0
1
$ echo 0 -1 -0 1 | tr ' ' '\n' | sed -e 's/^/ /' | sort -n
 -1
 -0
 0
 1
$ echo 0 -1 -0 1 | tr ' ' '\n' | sed -e '/-/s/^/ /' | sort -n
 -1
 -0
0
1
$ echo 0 -1 -0 1 | tr ' ' '\n' | sed -e '/^.$/s/^/ /' | sort -n
-1
 0
-0
 1
$ echo 0 -1 -0 1 | tr ' ' '\n' | sed -e '/-/s/^/ /' -e 's/^/ /' | sort -n
  -1
  -0
 0
 1
$ echo 0 -1 -0 1 | tr ' ' '\n' | sed -e '/^.$/s/^/ /' -e 's/^/ /' | sort -n
 -1
  0
 -0
  1
$ echo 0 -1 -0 1 | tr ' ' '\n' | sed -e '/-/s/^/    /' -e 's/^/ /' | sort -n
     -1
     -0
 0
 1
$ echo 0 -1 -0 1 | tr ' ' '\n' | sed -e '/-/!s/^/    /' -e 's/^/ /' | sort -n
 -1
     0
 -0
     1
$ echo 0 -1 -0 1 | tr ' ' '\n' | sort -g
-1
-0
0
1
$ echo 0 -1 -0 1 | tr ' ' '\n' | sed -e 's/^/ /' | sort -g
 -1
 -0
 0
 1
$ echo 0 -1 -0 1 | tr ' ' '\n' | sed -e '/-/s/^/ /' | sort -g
 -1
 -0
0
1
$ echo 0 -1 -0 1 | tr ' ' '\n' | sed -e '/^.$/s/^/ /' | sort -g
-1
 0
-0
 1
$ echo 0 -1 -0 1 | tr ' ' '\n' | sed -e '/-/s/^/ /' -e 's/^/ /' | sort -g
  -1
  -0
 0
 1
$ echo 0 -1 -0 1 | tr ' ' '\n' | sed -e '/^.$/s/^/ /' -e 's/^/ /' | sort -g
 -1
  0
 -0
  1
$ echo 0 -1 -0 1 | tr ' ' '\n' | sed -e '/-/s/^/    /' -e 's/^/ /' | sort -g
     -1
     -0
 0
 1
$ echo 0 -1 -0 1 | tr ' ' '\n' | sed -e '/-/!s/^/    /' -e 's/^/ /' | sort -g
 -1
     0
 -0
     1
$ echo 0 -1 -0 1 | tr ' ' '\n' | sort -nb
-1
-0
0
1
$ echo 0 -1 -0 1 | tr ' ' '\n' | sed -e 's/^/ /' | sort -nb
 -1
 -0
 0
 1
$ echo 0 -1 -0 1 | tr ' ' '\n' | sed -e '/-/s/^/ /' | sort -nb
 -1
 -0
0
1
$ echo 0 -1 -0 1 | tr ' ' '\n' | sed -e '/^.$/s/^/ /' | sort -nb
-1
 0
-0
 1
$ echo 0 -1 -0 1 | tr ' ' '\n' | sed -e '/-/s/^/ /' -e 's/^/ /' | sort -nb
  -1
  -0
 0
 1
$ echo 0 -1 -0 1 | tr ' ' '\n' | sed -e '/^.$/s/^/ /' -e 's/^/ /' | sort -nb
 -1
  0
 -0
  1
$ echo 0 -1 -0 1 | tr ' ' '\n' | sed -e '/-/s/^/    /' -e 's/^/ /' | sort -nb
     -1
     -0
 0
 1
$ echo 0 -1 -0 1 | tr ' ' '\n' | sed -e '/-/!s/^/    /' -e 's/^/ /' | sort -nb
 -1
     0
 -0
     1

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]