Sorry maybe I didn't speak clearly, I want to sort on the whole line by each character from left to right, not only the 5 fields。 And why I use the same command "sort test.txt" and same input "test.txt" on the 2016 Mac pro or on the windows10 , the result both are : 20171012|3|2059517|-|8|-|20-24|2|-|2.0|2.0 20171012|3|2059517|-|8|-|20-24|2|-|2.0|2.0 20171012|3|2059517|-|82|-|25-29|2|-|13.0|12.0 20171012|3|2059517|-|82|-|25-29|2|-|13.0|12.0 which are different from the Linux shell, and that is the correct result I want. Is that normal ? The "sort" version on Mac pro is : "sort (GNU coreutils) 5.93 Copyright (C) 2005 Free Software Foundation, Inc. This is free software. You may redistribute copies of it under the terms of the GNU General Public License <http://www.gnu.org/licenses/gpl.html>. There is NO WARRANTY, to the extent permitted by law. Written by Mike Haertel and Paul Eggert." I don't know why so I am look forward to receive your reply as soon as possible. Thank you very much! Sincerely yours, Frank
在2017年10月16日 07:36,[1]Pádraig Brady<[email protected]> 写道: forcemerge 28846 28847 tag 28846 notabug close 28846 stop On 15/10/17 01:03, Tree Big wrote: > Dear coreutils : > I am a Research and Development Engineer in IT. I met a situation when I > use “sort” command in Linux shell which could be a bug for the "so rt" > command. So I hope you read this email, thank you ! > > The whole command I used was : > *sort test.txt* > > *And the result was :* > 20171012|3|2059517|-|8|-|20-24|2|-|2.0|2.0 > 20171012|3|2059517|-|82|-|25-29|2|-|13.0|12.0 > 20171012|3|2059517|-|8|-|-2|-2|-|71.0|64.0 > 20171012|3|2059517|-|82|-|30-34|0|-|2.0|1.0 Since at least field 5 is variable width you can't so a simple sort on the whole line. I'm not sure exactly what field order you want but you'll want something like: sort -t'|' -k1,1 -k5,5n cheers, Pádraig References 1. mailto:[email protected]
