如何在emacs中按字母顺序在半词法上对行进行排序即,按字母顺序排序,除了3高于11?

问题描述

| 我如何在emacs中按字母顺序从半到左排序(即从3到11排在前面)?例如,我有大量的数据收集,每个数据看起来像
[ 5,3,21,1600000 ],[ 3,11,6400000 ],102,
等等... M-x排序行将其排序为
[ 3,[ 5,
但我真的很希望这样排序
[ 3,
谢谢!     

解决方法

        这是一个很好的解决方案。它在Emacs中:
C-u | sort -k2n -k3n
在选择您的区域的情况下运行它,它将被替换为
sort
输出!     ,        我不使用emacs,但在vim中,我会这样做:
%!sort -k2n -k3n
(可能也使用其他关键列,我无法说明样本) 我不会在这里开始编辑器之战...我只是确定emacs也允许您通过shell命令进行过滤,因此这将有所帮助!     ,        使用您的数据,以下操作将完成您想要的,尽管这比较麻烦:
C-u 3 M-x sort-numeric-fields
C-u 2 M-x sort-numeric-fields
我不确定ѭ7是一个稳定的种类,因此它可能并不总是有效。并且,显然以上内容仅对2个数字“ deep”进行了排序,如果您要对第3个数字进行排序,则需要添加C-u 4 M-x sort...。 prefix参数以2开头,因为第一个字段是
[
,并且计数以1开头。 您也可以通过调用9ѭ带有适当的词汇词典谓词来进行滚动。有关更多详细信息,请参见sort-subr文档。     

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...