【发布时间】:2016-10-30 22:20:38
【问题描述】:
我正在使用 emacs 24.5 并尝试像这样对文件进行排序:
乍一看,它似乎是按顺序排列的,但只是从“从左到右”的数字顺序,即顺序是s-199 然后是s2。
file '602036248001_4483709143001_s-1.ts'
file '602036248001_4483709143001_s-10.ts'
file '602036248001_4483709143001_s-100.ts'
file '602036248001_4483709143001_s-101.ts'
file '602036248001_4483709143001_s-102.ts'
file '602036248001_4483709143001_s-103.ts'
file '602036248001_4483709143001_s-104.ts'
file '602036248001_4483709143001_s-105.ts'
file '602036248001_4483709143001_s-106.ts'
file '602036248001_4483709143001_s-107.ts'
file '602036248001_4483709143001_s-108.ts'
我尝试在 emacs 中使用 sort-regexp-fields,“记录”正则表达式为 file '602036248001_4483709143001_s-[^a-zA-Z]*.ts',“键”正则表达式为 [^a-zA-Z' _-]\{1,3\}.ts
但这些似乎突出了 regexp-builder 中的匹配项(顺便说一句,为什么它需要您将正则表达式括在引号 " "...?)
这似乎不起作用,我很难过。我还尝试使用 sort-columns 标记区域并进行排序,但也没有用。
【问题讨论】:
-
sort-regexp-fields不起作用,因为它只能按字典顺序排序,而不能按数字排序。但是,sort-numeric-fields不起作用,因为它假定字段由空格分隔。sort-columns也不起作用;它假定所有字段的长度都相同并且它按字典顺序排序。 -
也许你想看看
sort-numeric-fields
标签: regex string sorting emacs