回答編集履歴
1
補足
test
CHANGED
@@ -1,4 +1,7 @@
|
|
1
|
+
> 理由はよくわからないけど以下にしたらできた。
|
2
|
+
ということなので、理由を回答します。
|
3
|
+
|
1
|
-
手元の環境(gnu-sortとFreeBSD sort)で試すと、どちらも、
|
4
|
+
その前に、手元の環境(gnu-sortとFreeBSD sort)で試すと、どちらも、
|
2
5
|
```test.log(コマンド実行後)
|
3
6
|
id age
|
4
7
|
1 0
|
@@ -8,8 +11,9 @@
|
|
8
11
|
```
|
9
12
|
ですね。`0`の行は残りません。
|
10
13
|
`0`の行が残るというのは、どういうOSでどういうsortを実行したのでしょうか?
|
11
|
-
|
14
|
+
おそらく、コピペミスで、実際には`0`の行は残ってない?
|
12
15
|
|
16
|
+
ここからが、「理由」です。
|
13
17
|
`--numeric-sort`は「文字列を数値とみなして比較する」なので(数値でない文字以降は無視される)、
|
14
18
|
入力行(`-k`オプションが無いので行全体がキー)はそれぞれ、
|
15
19
|
|入力行|見なされる数値|
|
@@ -27,7 +31,7 @@
|
|
27
31
|
|2 2|2|
|
28
32
|
|2 2|2|
|
29
33
|
|
30
|
-
という数値として見なされ、「見なされる数値」がユニークになるように行が選択されます。
|
34
|
+
という数値として見なされ、「見なされる数値」がユニークになるように行が選択され、数値が同じ他の行は捨てられます。
|
31
35
|
|
32
36
|
`--numeric-sort`を付けないと、行全体が一致したものが1つだけになります。
|
33
37
|
|