使用 bash,我想对列表进行排序和过滤,以仅保留每个次要版本(每个组)的最后一个补丁版本(最高值)。例如:
$ cat data | sort -Vr
3.10.1
3.10.0
3.3.10
3.3.2
3.3.1
3.2.0
3.1.0
3.0.3
3.0.2
3.0.1
3.0.0
Run Code Online (Sandbox Code Playgroud)
我想得到这个结果:
3.10.1
3.3.10
3.2.0
3.1.0
3.0.3
Run Code Online (Sandbox Code Playgroud)
怎么做?
使用另一种排序 -u
sort -Vr data | sort -ru -t. -Vk1,2
Run Code Online (Sandbox Code Playgroud)
-t. 使用点作为字段分隔符-k1,2 按前两个字段排序,即忽略补丁版本-u 意思是“唯一的”,即它只打印每个排序相同的组的第一次出现| 归档时间: |
|
| 查看次数: |
174 次 |
| 最近记录: |