大家好,我是爱撸代码的开源大叔!
有时候找文件是一件很苦恼的事情,找了很多目录也没有找到文件,今天大叔给大家推荐一款好用的开源的文件搜索工具–fd。fd 是基于 Rust 开发的一个速度超快的命令行搜索工具,fd 旨在成为 Linux / Unix 下 find 命令的替代品。
项目特性
fd 是一个命令行工具,提供了多种方便的选项进行文件的搜索,而且默认是彩色输出。
- 简洁语法:fd PATTERN
- 彩色终端输出
- 搜索不区分大小写
- 支持正则表达式
- 忽略隐藏的目录和文件
安装
这里以windows为例,其他操作系统参考官方文档即可。
可以从中 releases页面,下载预构建的二进制文件.
也可以通过scoop 安装fd
安装 scoop:
- 打开 PowerShell
打开远程权限
1 | Set-ExecutionPolicy RemoteSigned -scope CurrentUser; |
出现提示是否要更改执行策略?
,输入 Y 回车
- Scoop 下载安装
1 | iwr -useb https://gitee.com/glsnames/scoop-installer/raw/master/bin/install.ps1 | iex |
- 安装fd
1 | scoop install fd |
使用方式
查看帮助
1 | fd -h |
简单搜索
1 | fd test |
不加任何参数,fd 默认是在当前目录进行检索。
指定根目录
添加第二个参数是在指定目录下进行搜索
1 | win |
大小写
默认 fd
是匹配智能大小写的,如果你搜索的内容是包含大写会按照大小写精确匹配,但如果是小写会忽略大小写匹配,所以 fd
另外提供了两种选项来严格控制大小写匹配。
1 | fd hello d:\fd |
选项 -i
或 --ignore-case
忽略大小写。
1 | fd -i hello d:\fd |
选项 -s
或 --case-sensitive
严格匹配大小写。
1 | fd -s hello d:\fd |
搜索特定的文件扩展名
添加选项 -e 扩展名,搜索指定扩展名的文件。
1 | fd -e txt hello |
组合命令
fd
提供了 -x
或 --exec <cmd>
、-X
或 --exec-batch <cmd>
来进行对搜索结果集的进一步处理。
1 | fd -e zip -x unzip |
正则表达式
fd
默认就是支持正则表达式对内容进行搜索的,但是正则表达式需要使用单引号 '
包裹起来。
1 | fd '^x.*rc$' |
排除特定文件或目录
使用-E
(或) --exclude
选择此选项. 它以任意的模式作为一个参数,参数可以是正则表达式、目录、文件类型等等。
1 | D:\fd> fd -E h* |
总结
fd
是一个简单友好的命令行文件搜索工具,检索速度很快,有需要的小伙伴在公众号后台回复【小分队】获取项目地址吧~