【每日一库】fd - 文件搜索神器
2021/5/11 10:28:00
本文主要是介绍【每日一库】fd - 文件搜索神器,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
find 命令,是我们 Linuxer 经常会用到的命令行工具之一,频率可能会比昨天介绍的 grep/ripgrep 工具稍微低一点。它的作用是在文件系统目录中搜索符合指定文件名模式的文件。这里介绍的 fd 是 find 的 Rust 替代实现。目前在 github 上 star 数量接近 10000。
fd 的语法与 find 有一些不同,这是这个工具的取舍。
先来看看这个工具的效果。
仅仅有颜值肯定不能吸引 10000 左右的加星。它是实力型选手。下面是一简单的性能评测(仅做参考):
对一个包含大约19万个子目录,100万个文件的目录,先使用 find 进行搜索:
Benchmark #1: find ~ -iregex '.*[0-9]\.jpg$' Time (mean ± σ): 7.236 s ± 0.090 s Range (min … max): 7.133 s … 7.385 s
不用正则模式再来一次
Benchmark #2: find ~ -iname '*[0-9].jpg' Time (mean ± σ): 3.914 s ± 0.027 s Range (min … max): 3.876 s … 3.964 s
现在使用 fd,打开隐藏文件搜索
Benchmark #3: fd -HI '.*[0-9]\.jpg$' ~ Time (mean ± σ): 811.6 ms ± 26.9 ms Range (min … max): 786.0 ms … 870.7 ms
关掉隐藏文件搜索
Benchmark #4: fd '[0-9]\.jpg$' ~ Time (mean ± σ): 123.7 ms ± 6.0 ms Range (min … max): 118.8 ms … 140.0 ms
性能竟然有这样大的提升(5到几十倍),小编大吃一惊!因为 find 这种 C 语言实现的东西 ,早已成为人们心目中的速度标准了 。
下面罗列一下 fd 的特性:
语法更主方便:用
fd PATTERN
替代find -iname '*PATTERN*'
输出是彩色的
一个字,快
智能监测大小写搜索意图
默认忽略隐藏文件不搜索
默认忽略 .gitignore 中指定的文件和目录不搜索
正则表达式支持
Unicode 支持
命令名要短一半(:D)
可以类似 GNU Parallel 一样并行执行命令
是不是迫不及待地想要试一试了,使用下面命令安装
cargo install fd-find
Just do it.
这篇关于【每日一库】fd - 文件搜索神器的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-07-02springboot项目无法注册到nacos-icode9专业技术文章分享
- 2024-06-26结对编程到底难不难?答案在这里
- 2024-06-19《2023版Java工程师》课程升级公告
- 2024-06-15matplotlib作图不显示3D图,怎么办?
- 2024-06-1503-Loki 日志监控
- 2024-06-1504-让LLM理解知识 -Prompt
- 2024-06-05做软件测试需要懂代码吗?
- 2024-06-0514-ShardingSphere的分布式主键实现
- 2024-06-03为什么以及如何要进行架构设计权衡?
- 2024-05-31全网首发第二弹!软考2024年5月《软件设计师》真题+解析+答案!(11-20题)