虽然我们已经有Everything/es.exe (Windows)、Spotlight、fzf、locate等命令可以快速搜寻到档案,但要充份掌握好复杂多样的选项可是要花很多功夫。
fselect可以用类似SQL的语法来搜寻档案,让我们有了简化命令选项复杂度的方案。
命令格式:
fselect [ARGS] COLUMN[, COLUMN...] [from ROOT[, ROOT...]] [where EXPR] [order by COLUMNS] [limit N] [into FORMAT]
- 语法参考
- 除非夹有空白,否则字串值可不加单引号
- 可用双引号夹住命令选项,以防有 >、< 等特殊符号
- > 比对符号可用 gt 取代,>= 比对符号可用 gte 取代,以此类推
- 可与more、fzf等合用
范例
- 计算某资料夹里的档案数
fselect Count(1) from j:\JERRY\MOC fselect Count(1) from j:\JERRY\MOC where name='*.md' fselect Count(1) from j:\JERRY\MOC where IS_FILE=true fselect Count(1) from j:\JERRY\MOC where IS_DIR=true
- 找出某资料夹与日期相关的档案
fselect path from j:\JERRY\MOC where created = yesterday fselect path from j:\JERRY\MOC where modified = today fselect "modified,path from j:\JERRY\MOC where modified > '2020-11-07 14:50'"
- 找出某资料夹里档名有中文的列表
fselect * from j:\JERRY\MOC where CONTAINS_JAPANESE(name)=true fselect * from j:\JERRY\MOC where kanji(name)=1
- 搜寻出的档案过多时,可与more或fzf合用
fselect * from j:\JERRY\MOC where kanji(name)=1 | fzf
- 找出资料夹里大小最大的20个档案
fselect modified,size,path from j:\JERRY\MOC,j:\jerry\blog order by size desc limit 20
- 使用函数;档案大小用K表示
fselect name, format_size(size,'k') from J:\jerry\moc where name=*.md order by size desc limit 20
- 把结果储存起来
fselect name, format_size(size,'k') from J:\jerry\moc where name=*.md order by size desc limit 20 into html > z:\test\output.html
- 排除特定目录
fselect path from j:\JERRY\MOC where modified = today and path != '*.obsidian*' fselect path from j:\JERRY\MOC where modified = today and path not like '%.obsidian%'
更进阶与复杂的用法请自行参考使用说明。
相关连结
- GitHob主页:jhspetersson/fselect: Find files with SQL-like queries
- GitHub下载:https://github.com/jhspetersson/fselect/releases
- fselect 使用说明
- 我的2020/03/14影片 es+fzf:超快速找档神器-用Everything Search的命令行es.exe,整合fzf的模糊搜寻;WSL也能使用!
教学影片
##
想在手机阅读更多教学锦囊资讯?下载【香港硅谷】Android应用 