gpt4 book ai didi

fuzzy-search - 如何使用 ripgrep/fzf 列出匹配搜索的源文件名

转载 作者:行者123 更新时间:2023-12-03 08:47:06 25 4
gpt4 key购买 nike

问题

我需要搜索文本文件的目录,其中也搜索文件的内容。我目前正在使用 ripgrep 和 fzf 来执行此操作 - 问题是每个文件的每一行都会输出搜索。 我需要每个搜索匹配项也指示其源文件名/文件路径。

示例:

我们有以下两个文件:

示例.md

something something foo something

something something foo something

something something foo something

something something foo something

有用的示例.md

something something foo something

我们运行rg。 | fzf 在包含它们的目录中写入 foo,并得到以下结果:

useful-example.md:something something foo something

example.md:something something foo something

example.md:something something foo something

example.md:something something foo something

example.md:something something foo something

这里的问题是 example.md 的每一行都是一个搜索结果。它应该是引用其文件的匹配项。它应该看起来像这样:

useful-example.md:something something foo something

example.md:something something foo something

......................something foo something

......................something foo something

......................something foo something

最佳答案

Ripgrep 带有一个 --heading 标志(来自手册页)

prints the file path above clusters of matches from each fileinstead of printing the file path as a prefix for each matched line

看起来像这样:

rg --heading --line-number --column . | fzf --layout=reverse

useful-example.txt
1:1:something something foo something

example.txt
1:1:something something foo something
2:1:something something foo something
3:1:something something foo something
4:1:something something foo something

如果您只对匹配的文件感兴趣,请添加标志--files-with-matches:

rg --files-with-matches . | fzf
useful-example.txt
example.txt

关于fuzzy-search - 如何使用 ripgrep/fzf 列出匹配搜索的源文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60977119/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com