What is the default order for sort?












0















Given(a.txt):



2n 
4t
7t
11t


After:



sort a.txt


OutPut:



11t 
2n
4t
7t


Question:



why is this order? what is the sort based on?
(number or other?)



And when i try to give this input:



2
4
7
11
20
30


Output give me this order:



11
2
20
30
4
7


So confused, why is 11 always the 1st?










share|improve this question

























  • Check man sort.

    – codeforester
    Nov 14 '18 at 4:40











  • I did, but still really confused, could i get any explain?

    – Brian Li
    Nov 14 '18 at 4:44
















0















Given(a.txt):



2n 
4t
7t
11t


After:



sort a.txt


OutPut:



11t 
2n
4t
7t


Question:



why is this order? what is the sort based on?
(number or other?)



And when i try to give this input:



2
4
7
11
20
30


Output give me this order:



11
2
20
30
4
7


So confused, why is 11 always the 1st?










share|improve this question

























  • Check man sort.

    – codeforester
    Nov 14 '18 at 4:40











  • I did, but still really confused, could i get any explain?

    – Brian Li
    Nov 14 '18 at 4:44














0












0








0








Given(a.txt):



2n 
4t
7t
11t


After:



sort a.txt


OutPut:



11t 
2n
4t
7t


Question:



why is this order? what is the sort based on?
(number or other?)



And when i try to give this input:



2
4
7
11
20
30


Output give me this order:



11
2
20
30
4
7


So confused, why is 11 always the 1st?










share|improve this question
















Given(a.txt):



2n 
4t
7t
11t


After:



sort a.txt


OutPut:



11t 
2n
4t
7t


Question:



why is this order? what is the sort based on?
(number or other?)



And when i try to give this input:



2
4
7
11
20
30


Output give me this order:



11
2
20
30
4
7


So confused, why is 11 always the 1st?







shell sorting unix






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Nov 14 '18 at 4:58









codeforester

17.7k84164




17.7k84164










asked Nov 14 '18 at 4:38









Brian LiBrian Li

256




256













  • Check man sort.

    – codeforester
    Nov 14 '18 at 4:40











  • I did, but still really confused, could i get any explain?

    – Brian Li
    Nov 14 '18 at 4:44



















  • Check man sort.

    – codeforester
    Nov 14 '18 at 4:40











  • I did, but still really confused, could i get any explain?

    – Brian Li
    Nov 14 '18 at 4:44

















Check man sort.

– codeforester
Nov 14 '18 at 4:40





Check man sort.

– codeforester
Nov 14 '18 at 4:40













I did, but still really confused, could i get any explain?

– Brian Li
Nov 14 '18 at 4:44





I did, but still really confused, could i get any explain?

– Brian Li
Nov 14 '18 at 4:44












1 Answer
1






active

oldest

votes


















1














From man sort:




The sort utility sorts text and binary files by lines. A line is a
record separated from the subsequent record by a newline (default) or
NUL '' character (-z option). A record can contain any printable or
unprintable characters. Comparisons are based on one or more sort
keys extracted from each line of input, and are performed
lexicographically, according to the current locale's collating rules
and the specified command-line options that can tune the actual
sorting behavior. By default, if keys are not given, sort uses entire
lines for comparison.




sort is using alphabetical (lexicographic) order by default. If you want your file to be sorted numerically, use sort -n.



Regarding your specific question about why 11 is coming before 2 in the sorted output:




  • lexicographically, any string starting with 1 will always be less than any string that starts with 2

  • sort is not using numeric order by default


You can see the ASCII values of 1 and 2:



printf '%dn' "'1" "'2"
49
50





share|improve this answer


























  • sorry, i am confused, but why give input:2 4 7 11 20 30 output: 11 still always the 1st

    – Brian Li
    Nov 14 '18 at 4:54













  • alright, i c!! thanks!!!

    – Brian Li
    Nov 14 '18 at 4:56











Your Answer






StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");

StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});

function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});


}
});














draft saved

draft discarded


















StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53293280%2fwhat-is-the-default-order-for-sort%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown

























1 Answer
1






active

oldest

votes








1 Answer
1






active

oldest

votes









active

oldest

votes






active

oldest

votes









1














From man sort:




The sort utility sorts text and binary files by lines. A line is a
record separated from the subsequent record by a newline (default) or
NUL '' character (-z option). A record can contain any printable or
unprintable characters. Comparisons are based on one or more sort
keys extracted from each line of input, and are performed
lexicographically, according to the current locale's collating rules
and the specified command-line options that can tune the actual
sorting behavior. By default, if keys are not given, sort uses entire
lines for comparison.




sort is using alphabetical (lexicographic) order by default. If you want your file to be sorted numerically, use sort -n.



Regarding your specific question about why 11 is coming before 2 in the sorted output:




  • lexicographically, any string starting with 1 will always be less than any string that starts with 2

  • sort is not using numeric order by default


You can see the ASCII values of 1 and 2:



printf '%dn' "'1" "'2"
49
50





share|improve this answer


























  • sorry, i am confused, but why give input:2 4 7 11 20 30 output: 11 still always the 1st

    – Brian Li
    Nov 14 '18 at 4:54













  • alright, i c!! thanks!!!

    – Brian Li
    Nov 14 '18 at 4:56
















1














From man sort:




The sort utility sorts text and binary files by lines. A line is a
record separated from the subsequent record by a newline (default) or
NUL '' character (-z option). A record can contain any printable or
unprintable characters. Comparisons are based on one or more sort
keys extracted from each line of input, and are performed
lexicographically, according to the current locale's collating rules
and the specified command-line options that can tune the actual
sorting behavior. By default, if keys are not given, sort uses entire
lines for comparison.




sort is using alphabetical (lexicographic) order by default. If you want your file to be sorted numerically, use sort -n.



Regarding your specific question about why 11 is coming before 2 in the sorted output:




  • lexicographically, any string starting with 1 will always be less than any string that starts with 2

  • sort is not using numeric order by default


You can see the ASCII values of 1 and 2:



printf '%dn' "'1" "'2"
49
50





share|improve this answer


























  • sorry, i am confused, but why give input:2 4 7 11 20 30 output: 11 still always the 1st

    – Brian Li
    Nov 14 '18 at 4:54













  • alright, i c!! thanks!!!

    – Brian Li
    Nov 14 '18 at 4:56














1












1








1







From man sort:




The sort utility sorts text and binary files by lines. A line is a
record separated from the subsequent record by a newline (default) or
NUL '' character (-z option). A record can contain any printable or
unprintable characters. Comparisons are based on one or more sort
keys extracted from each line of input, and are performed
lexicographically, according to the current locale's collating rules
and the specified command-line options that can tune the actual
sorting behavior. By default, if keys are not given, sort uses entire
lines for comparison.




sort is using alphabetical (lexicographic) order by default. If you want your file to be sorted numerically, use sort -n.



Regarding your specific question about why 11 is coming before 2 in the sorted output:




  • lexicographically, any string starting with 1 will always be less than any string that starts with 2

  • sort is not using numeric order by default


You can see the ASCII values of 1 and 2:



printf '%dn' "'1" "'2"
49
50





share|improve this answer















From man sort:




The sort utility sorts text and binary files by lines. A line is a
record separated from the subsequent record by a newline (default) or
NUL '' character (-z option). A record can contain any printable or
unprintable characters. Comparisons are based on one or more sort
keys extracted from each line of input, and are performed
lexicographically, according to the current locale's collating rules
and the specified command-line options that can tune the actual
sorting behavior. By default, if keys are not given, sort uses entire
lines for comparison.




sort is using alphabetical (lexicographic) order by default. If you want your file to be sorted numerically, use sort -n.



Regarding your specific question about why 11 is coming before 2 in the sorted output:




  • lexicographically, any string starting with 1 will always be less than any string that starts with 2

  • sort is not using numeric order by default


You can see the ASCII values of 1 and 2:



printf '%dn' "'1" "'2"
49
50






share|improve this answer














share|improve this answer



share|improve this answer








edited Nov 14 '18 at 4:57

























answered Nov 14 '18 at 4:44









codeforestercodeforester

17.7k84164




17.7k84164













  • sorry, i am confused, but why give input:2 4 7 11 20 30 output: 11 still always the 1st

    – Brian Li
    Nov 14 '18 at 4:54













  • alright, i c!! thanks!!!

    – Brian Li
    Nov 14 '18 at 4:56



















  • sorry, i am confused, but why give input:2 4 7 11 20 30 output: 11 still always the 1st

    – Brian Li
    Nov 14 '18 at 4:54













  • alright, i c!! thanks!!!

    – Brian Li
    Nov 14 '18 at 4:56

















sorry, i am confused, but why give input:2 4 7 11 20 30 output: 11 still always the 1st

– Brian Li
Nov 14 '18 at 4:54







sorry, i am confused, but why give input:2 4 7 11 20 30 output: 11 still always the 1st

– Brian Li
Nov 14 '18 at 4:54















alright, i c!! thanks!!!

– Brian Li
Nov 14 '18 at 4:56





alright, i c!! thanks!!!

– Brian Li
Nov 14 '18 at 4:56


















draft saved

draft discarded




















































Thanks for contributing an answer to Stack Overflow!


  • Please be sure to answer the question. Provide details and share your research!

But avoid



  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.


To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53293280%2fwhat-is-the-default-order-for-sort%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

Xamarin.iOS Cant Deploy on Iphone

Glorious Revolution

Dulmage-Mendelsohn matrix decomposition in Python