前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >终于找到这个文件搜索神器了

终于找到这个文件搜索神器了

作者头像
永恒君
发布2022-12-07 15:41:30
4900
发布2022-12-07 15:41:30
举报
文章被收录于专栏:开源小分队开源小分队

大家好,我是爱撸代码的开源大叔!

有时候找文件是一件很苦恼的事情,找了很多目录也没有找到文件,今天大叔给大家推荐一款好用的开源的文件搜索工具--fd。fd 是基于 Rust 开发的一个速度超快的命令行搜索工具,fd 旨在成为 Linux / Unix 下 find 命令的替代品。

项目特性

fd 是一个命令行工具,提供了多种方便的选项进行文件的搜索,而且默认是彩色输出。

  • 简洁语法:fd PATTERN
  • 彩色终端输出
  • 搜索不区分大小写
  • 支持正则表达式
  • 忽略隐藏的目录和文件

安装

这里以 windows 为例,其他操作系统参考官方文档即可。

可以从 releases页面,下载预构建的二进制文件。

也可以通过 scoop 安装fd。

安装 scoop:

  • 打开 PowerShell

打开远程权限

代码语言:javascript
复制
Set-ExecutionPolicy RemoteSigned -scope CurrentUser;

出现提示是否要更改执行策略?,输入 Y 回车

  • Scoop 下载安装
代码语言:javascript
复制
iwr -useb https://gitee.com/glsnames/scoop-installer/raw/master/bin/install.ps1 | iex
  • 安装 fd
代码语言:javascript
复制
scoop install fd

使用方式

查看帮助

代码语言:javascript
复制
fd -h

简单搜索

代码语言:javascript
复制
fd test

#搜索结果
fd\hello.txt

不加任何参数,fd 默认是在当前目录进行检索。

指定根目录

添加第二个参数是在指定目录下进行搜索

代码语言:javascript
复制
# win
fd hello d:\fd
d:\fd\hello.txt

# linux
fd hello /etc

大小写

默认 fd 是匹配智能大小写的,如果你搜索的内容是包含大写会按照大小写精确匹配,但如果是小写会忽略大小写匹配,所以 fd 另外提供了两种选项来严格控制大小写匹配。

代码语言:javascript
复制
fd hello d:\fd
d:\fd\Hello (3).txt
d:\fd\hello.txt

选项 -i--ignore-case 忽略大小写。

代码语言:javascript
复制
fd -i hello d:\fd
d:\fd\Hello (3).txt
d:\fd\hello.txt

选项 -s--case-sensitive 严格匹配大小写。

代码语言:javascript
复制
fd -s hello d:\fd
d:\fd\hello.txt

搜索特定的文件扩展名

添加选项 -e 扩展名,搜索指定扩展名的文件。

代码语言:javascript
复制
fd -e txt hello
fd\Hello (3).txt
fd\hello.txt

组合命令

fd 提供了 -x--exec <cmd>-X--exec-batch <cmd> 来进行对搜索结果集的进一步处理。

代码语言:javascript
复制
fd -e zip -x unzip

#找到所有的 py 并且通过 vim 打开
fd py -X vim

正则表达式

fd 默认就是支持正则表达式对内容进行搜索的,但是正则表达式需要使用单引号 ' 包裹起来。

代码语言:javascript
复制
fd '^x.*rc$'
X/xinit/xisssrc
X1/xinit/xssssrc

排除特定文件或目录

使用-E (或) --exclude选择此选项. 它以任意的模式作为一个参数,参数可以是正则表达式、目录、文件类型等等。

代码语言:javascript
复制
D:\fd> fd -E h*
Hello (3).txt
ssss.txt

总结

fd 是一个简单友好的命令行文件搜索工具,检索速度很快

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-06-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 开源小分队 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 项目特性
  • 安装
  • 使用方式
  • 总结
相关产品与服务
命令行工具
腾讯云命令行工具 TCCLI 是管理腾讯云资源的统一工具。使用腾讯云命令行工具,您可以快速调用腾讯云 API 来管理您的腾讯云资源。此外,您还可以基于腾讯云的命令行工具来做自动化和脚本处理,以更多样的方式进行组合和重用。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档