What is the default order for sort?
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
add a comment |
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
Checkman 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
add a comment |
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
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
shell sorting unix
edited Nov 14 '18 at 4:58
codeforester
17.7k84164
17.7k84164
asked Nov 14 '18 at 4:38
Brian LiBrian Li
256
256
Checkman 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
add a comment |
Checkman 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
add a comment |
1 Answer
1
active
oldest
votes
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
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
add a comment |
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
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
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
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
add a comment |
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
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
add a comment |
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
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
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
add a comment |
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
add a comment |
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.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
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
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