#search-pattern #pattern #find #command-line-tool #command-line #tool #search

bin+lib finr

finr 递归地搜索文件和目录,同时忽略无关的目录。构建时考虑到了“更聪明地工作而不是更努力”的理念

6 个版本

新版本 0.2.4 2024年8月6日
0.2.3 2023年6月22日
0.1.2 2023年6月7日

#778开发工具

Download history 111/week @ 2024-08-02

111 每月下载量

MIT 许可证

78KB
289

Finr

递归搜索文件和目录,忽略无关目录。

目录

比较 finrfd-find

finr benchmark

动机

我开发 finr 是为了快速在文件系统中查找文件和目录,忽略通常不包含我所需内容的某些目录。Finr 受 ripgrep 的启发很大,特别是忽略目录的部分。我希望有一个又快又容易使用的工具。

安装

假设您已经安装了 rust 和 cargo。

cargo install finr

从源代码构建

git clone https://github.com/Gers2017/finr && \
cd finr && \
cargo build --release

用法

打印帮助信息

finr --help

Finr 默认查找 文件 并从 当前目录 开始。要搜索目录,使用 -t d (--type directory)。最大深度任意设置为 100。

使用正则表达式搜索 .rs 文件(使用 regex crate

finr '.+\.rs$' --regex

finr 在最大深度为 200 的情况下搜索 .md 文件

finr '.+\.md$' --regex --max-depth 200

Documents 目录内搜索以 build 开头的目录。(使用 starts_with

finr build ~/Documents --start -t d

从当前目录开始搜索 .rs 文件。(使用 ends_with

finr .rs -e

Documents 开始搜索名称中包含 main 的文件。(使用 contains

finr main ~/Documents/

搜索名称中包含 _node_modules_ 的目录。

finr node_modules -t d

搜索以.rs结尾的文件,从/home/目录开始,同时排除(-E)一些目录。

finr .rs ~/ -e -E Files Videos Downloads .config .local

从当前目录开始搜索包含main.c的文件。忽略Music Videos Downloads,并包括.config .local .ignore

finr main.c --exclude Music Videos Downloads --include .config .local .ignore

关于find或fd-find呢?

我认为findfd都是非常出色的工具,功能比finr多。由于finr相对较新,它的功能不如find或fd-find多(请记住这一点)。

类似工具

依赖

~2.3–3.5MB
~57K SLoC