所以我在这里看到了许多问题,我希望有人可以清理我自己的问题。我有一个看起来像这样的文件:
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 file> newfile中
但是这只是对它进行了分类:
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 file> newfile中
但这似乎并不可靠,因为它可以连续正确地做几次,但随后又扔了一些随便的人:
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.
我在这里做错了什么?
答案 0 :(得分: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
这指定第八个字段为主键,第9个字段为辅助字段。