按最后第二个字母排序的Unix命令
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了按最后第二个字母排序的Unix命令相关的知识,希望对你有一定的参考价值。
我有一个包含十六进制颜色代码的文本文件,但我想按它们的字母值排序。我如何使用-k排序选项。基本上,我想让带有 ff 字母值的代码先排序。
颜色代码。
#b293a6ff
#ead58fff
#a69d36ff
#067806ff
#7f0bf712
#f8b366ff
#8946d744
#c927d4ff
#3e568bff
#3e1ce1ff
#11570a00
命令:
sort -k8,9 colours.txt
预期输出:
#b293a6ff
#ead58fff
#a69d36ff
#067806ff
#f8b366ff
#c927d4ff
#3e568bff
#3e1ce1ff
#11570a00
#7f0bf712
#8946d744
答案
使用 GNU sort
:
不完全是你预期的输出(见最后三个条目),但按最后两个字符的反向顺序排序,使用的是 --stable
以使条目具有相同的值 (ff
)按原顺序排列。
$ sort --stable -rk1.8 colours.txt
#b293a6ff
#ead58fff
#a69d36ff
#067806ff
#f8b366ff
#c927d4ff
#3e568bff
#3e1ce1ff
#8946d744
#7f0bf712
#11570a00
以上是关于按最后第二个字母排序的Unix命令的主要内容,如果未能解决你的问题,请参考以下文章
orderByChild() 如果值相同,如何按第二个变量排序?
如何按第一个值和第二个值对 pair<int, char> 的向量进行排序? [复制]