gpt4 book ai didi

node.js - ack|grep|whatnot 特别忽略文件夹模式 node_modules/dir/node_modules

转载 作者:搜寻专家 更新时间:2023-10-31 22:38:13 27 4
gpt4 key购买 nike

我最近发现了 ack 和 ack -ir --ignore-dir={node_modules,dist,.git} <search-term>对大多数事情都很好,但是这个

---node_modules/
---------------project1/
-----------------------node_modules/
---------------project2/
-----------------------node_modules/

我想搜索“根”node_modules 下的所有文件并排除所有内部文件。

注意:如果我运行 find . -type f | ack -v 'node_modules|.git|dist'在根 node_modules 文件夹下,我得到了一个正确的文件列表。发生这种情况是因为 find .给出相对路径。有什么办法可以将此列表提供给 ack 吗?

最佳答案

ack -i <search-term> ./node_modules/*

应该做你想做的。如果您还想包含隐藏 文件和文件夹,请先设置shopt -s dotglob(假设为 Bash)。


背景信息:

ack 有很多规则可以忽略您通常不希望搜索的文件内置

至少从 2.14 版开始,这 包括 名为 .gitnode_modules 的目录,位于层次结构的任何级别( ack 默认以递归方式搜索,尽管您可以添加 -r/-R/--recursive 以使其明确)。
要查看默认忽略的目录/文件的完整列表,请运行 ack --dump

通过使用globbing(路径名扩展)让shell 将模式./node_modules/* 扩展到列表 ./node_modules 中的实际项,对于那些显式传递的项,node_modules 的忽略规则被绕过 .

关于node.js - ack|grep|whatnot 特别忽略文件夹模式 node_modules/dir/node_modules,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40570424/

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