gpt4 book ai didi

command-line - 字符串搜索 : Using find/grep, 忽略 .git 和其他目录

转载 作者:行者123 更新时间:2023-12-04 16:26:15 25 4
gpt4 key购买 nike

我经常需要从具有 git 目录 .git/ 的目录中搜索特定字符串.这是我使用的命令:

find . -name .git -prune -o -print | xargs grep <string-to-search>
-name .git -prune -o -print选项是忽略 .git/ 下的文件.但是,它会输出大量“是目录”消息,使整个结果变得困惑。例如,
...
grep: ./reports: Is a directory
grep: ./scripts: Is a directory
grep: ./scripts/js: Is a directory
grep: ./scripts/js/adapter: Is a directory
...

如何修改命令行以便我可以忽略 .git/目录和所有其他目录(即只搜索可搜索的文件)。

显然, -type f选项不适用于:
find -type f . -name .git -prune -o -print

最佳答案

您不需要 find 命令。您可以使用 grep 在目录中搜索。
您可以使用 exclude-dir 语法忽略目录。

grep -r --exclude-dir=".git;.svn" "string to search" <directory>

关于command-line - 字符串搜索 : Using find/grep, 忽略 .git 和其他目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14109471/

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