typora 的搜索不好用。
一直在用 ripgrep 搜索我的 md 文档,非常好用。
今天想对搜索结果时间倒排,找到含有关键字的最新文章。
发现排序功能
rg --sortr modified keyword
发现搜索结果并不是按文件修改时间倒排,有谁知道是哪里的问题吗?
1
ynyounuo 2021-12-09 11:53:19 +08:00
我用 ls --time-style='+%d-%m-%Y %H:%M:%S' -l; rg --sortr modified '{keywords}' 试了试好像没啥问题
|
2
felixin 2021-12-09 12:01:25 +08:00 via Android
silver search
|
3
yanbo92 2021-12-09 17:05:42 +08:00 via iPhone
看名字像是搜索死人的
|
5
Leviathann 2021-12-09 18:21:16 +08:00
@yanbo92 名字的确是要 grep 去死
|
6
hjue OP @ynyounuo 我用的是 mac ,不支持--time-style ,可能是这个原因导致的。 有时间看看 ripgrep 的代码,找找原因
|
9
hjue OP @ynyounuo 一个目录下排序没有问题。包含子目录有问题。
相关代码在这里 https://github.com/BurntSushi/ripgrep/blob/9f924ee187d4c62aa6ebe4903d0cfc6507a5adb5/crates/core/args.rs ``` match self.kind { SortByKind::None => {} SortByKind::Path => { if self.reverse { builder.sort_by_file_name(|a, b| a.cmp(b).reverse()); } else { builder.sort_by_file_name(|a, b| a.cmp(b)); } } SortByKind::LastModified => { builder.sort_by_file_path(move |a, b| { sort_by_metadata_time(a, b, self.reverse, |md| { md.modified() }) }); } SortByKind::LastAccessed => { builder.sort_by_file_path(move |a, b| { sort_by_metadata_time(a, b, self.reverse, |md| { md.accessed() }) }); } SortByKind::Created => { builder.sort_by_file_path(move |a, b| { sort_by_metadata_time(a, b, self.reverse, |md| { md.created() }) }); } } ``` |
10
ynyounuo 2021-12-10 13:02:25 +08:00
@hjue
rg 是这样设计的而且有人提了类似的 feature request 也没有被 maintainer 认可 https://github.com/BurntSushi/ripgrep/issues/1298 倒是你可以试试他的 workaround 改成一个 function 来用 |
11
xieyuheng 2022-01-11 20:42:19 +08:00
|