如何对部分列的数据进行排序?

Roc*_*786 -1 sort

我有一个文本文件中的数据,我正在尝试对其进行排序。我想将第一列位置 2 处的数字的数据排序到第一列的末尾。

例如:

Record Age Price 
A7859   15    10
B785    18    10
C696548 11    10
X7675    35    10
Y679     45    10
Z65      89    10 
Run Code Online (Sandbox Code Playgroud)

Kus*_*nda 5

假设您想对第一列中的数字按数字升序进行排序:

$ sort -k 1.2,1n file
Record Age Price
Z65      89    10
Y679     45    10
B785    18    10
X7675    35    10
A7859   15    10
C696548 11    10
Run Code Online (Sandbox Code Playgroud)

-k 1.2,1n到装置“之类的使用从第一列的第二字符数据,数值”排序选项。这会按升序对第一列中的数值进行排序。用于-k 1.2,1nr按相反顺序排序。

,1选项的参数中的 停止sort使用该行的其余部分作为排序键。

要稍微清理列的对齐方式,请将结果传递给column -t

$ sort -k 1.2,1n file | column -t
Record   Age  Price
Z65      89   10
Y679     45   10
B785     18   10
X7675    35   10
A7859    15   10
C696548  11   10
Run Code Online (Sandbox Code Playgroud)