1

だから私はここで多くの種類の質問を見てきました.誰かが私自身を解決できることを望んでいました. 次のようなファイルがあります。

data    dd  0.0 96  157 KL  71  X   6947
data    fb  0.0 11  3R2 HD  13  1   1850
data    bx  0.0 14  352 FG  12  X   4810
data    bh  0.0 13  3GF FH  1T  1   6840
data    fb  0.0 11  3R2 HD  13  1   1325
etc.

出力が次のようになるように、ファイルを 8 行目と 9 行目で並べ替えます。

data    bx  0.0 14  352 FG  12  X   4810
data    dd  0.0 96  157 KL  71  X   6947
data    fb  0.0 11  3R2 HD  13  1   1325
data    fb  0.0 11  3R2 HD  13  1   1850
data    bh  0.0 13  3GF FH  1T  1   6840
etc.

私が試してみました

sort -n -k7 -k8 ファイル > 新しいファイル

しかし、それはこれだけをソートします:

data    dd  0.0 96  157 KL  71  X   6947
data    bx  0.0 14  352 FG  12  X   4810
data    fb  0.0 11  3R2 HD  13  1   1850
data    bh  0.0 13  3GF FH  1T  1   6840
data    fb  0.0 11  3R2 HD  13  1   1325
etc. 

だから私は試しました:

> sort -n -k8 -k9 file > newfile

しかし、それは悪化させるだけです

data    dd  0.0 96  157 ZL  71  P   69412217
data    fb  0.0 11  3R2 HX  13  1   185135150
data    bx  0.0 14  352 FG  12  X   4810
data    bh  0.0 13  3GF FH  1T  1   6840
data    fb  0.0 11  3R2 HY  13  L   132321355
etc.

私も試しました:

sort -n -k8,9 ファイル > 新しいファイル

しかし、それはいくつかを連続して正しく実行するため、信頼できるようには見えませんでしたが、ランダムな人を投入します。

data    dd  0.0 96  157 KL  71  X   6947
data    bx  0.0 14  352 FG  12  26  443810
data    fb  0.0 11  3R2 HD  13  1   1850
data    bh  0.0 13  3GF FH  1T  1   6840
data    bx  0.0 14  352 FG  12  2   465310
data    fb  0.0 11  3R2 HD  13  1   1325
etc. 

ここで私が間違っているのは何ですか?

4

1 に答える 1

2

これはどう:

[cnicutar@ariel ~]$ sort -n -k8,8 -k9,9  tos

data    bx  0.0 14  352 FG  12  X   4810
data    dd  0.0 96  157 KL  71  X   6947
data    fb  0.0 11  3R2 HD  13  1   1325
data    fb  0.0 11  3R2 HD  13  1   1850
data    bh  0.0 13  3GF FH  1T  1   6840

これは、8 番目のフィールドを主キーとして指定し、9 番目のフィールドを副キーとして指定します。

于 2013-04-08T17:06:21.990 に答える