如何解决如何在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文档。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。