5

UNIX の次の並べ替えコマンドはどのように異なりますか?

1) sort -k1,4 < file
2) sort -k1,1 -k4,4 < file
3) sort -k1,1 -k2,2 -k3,3 -k4,4 < file

特に1番と2番は紛らわしいです。たとえば、次の例は私のポイントを示しています

$ cat tmp
1       2       3       t
4       2       4       c
5       4       6       c
7       3       20      r
12      3       5       i
2       45      7       a
11      23      53      b
23      43      53      q
11      6       3       c
0       4       3       z

$ diff <(sort -k1,4 tmp) <(sort -k1,1 -k2,2 -k3,3 -k4,4 tmp)
1a2
> 1     2       3       t
5,6d5
< 1     2       3       t
< 23    43      53      q
7a7
> 23    43      53      q

$diff <(sort -k1,4 tmp) <(sort -k1,1 -k4,4 tmp)
1a2
> 1     2       3       t
5,6d5
< 1     2       3       t
< 23    43      53      q
7a7
> 23    43      53      q

そして、ソートのマニュアルページを見ましたソートのマニュアルページでは、次のように述べています。

-k, --key=POS1[,POS2]
 start a key at POS1 (origin 1), end it at POS2 (default end of line)

しかし、私はこの説明を理解していません。POS1 から開始し、POS2 で終了する場合、上記の #1 と #3 のコマンドは同じ結果を生成するべきではありませんか?

4

1 に答える 1