For string comparison, it seems Linux sort assume number < lowercase <
uppercase. However, the ASCII value is: number < uppercase < lowercase.
Thus, the comparison function of Linux sort is different from that of C
function strcmp(). Is this a bug, or it is designed in this way for some
purpose?

Example:

input------------------------------------
echo A > test.txt
echo a >> test.txt
echo 1 >> test.txt
sort test.txt

output------------------------------------
1
a
A

sort --version
sort (coreutils) 5.2.1
Written by Mike Haertel and Paul Eggert.

Copyright (C) 2004 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.


In another sort package of BSD, the output is correct:

input------------------------------------
echo A > test.txt
echo a >> test.txt
echo 1 >> test.txt
sort test.txt

output------------------------------------
1
A
a

sort --version
sort - GNU textutils 1.14

--
Lei Guo, PhD candidate
The Ohio State University
Department of Computer Science and Engineering
URL: http://www.cse.ohio-state.edu/~lguo/
_______________________________________________
Bug-coreutils mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/bug-coreutils

Reply via email to