gpt4 book ai didi

macos - 使用终端查找文件夹内的文本

转载 作者:行者123 更新时间:2023-12-02 14:52:15 24 4
gpt4 key购买 nike

我正在尝试在文件夹中查找一行代码并使用终端。我使用这个命令,我认为它应该有效:

MacBook-Pro:myWordpress myId$ grep "<?php get_template_part('loop', 'archives'); ?>" -R

我正在检查的文件夹名为“myWordpress”。但我明白了:

grep: warning: recursive search of stdin

我不太使用终端,所以我不确定如何做我想做的事情。任何帮助表示赞赏。谢谢

大卫

最佳答案

您还必须指定目录作为最后一个参数:

grep -r -F "string to search" /path/to/dir

或者如果要在当前目录中搜索,请编写.作为目标目录:

grep -r -F "string to search" .

如果您没有指定目录,grep 将尝试在标准输入中搜索,但递归搜索在那里没有意义 - 这就是您收到该警告的原因。

manpage for grep说:

Not all grep implementations support -r and among those that do, the behaviour with symlinks may differ.

在这种情况下,您可以尝试不同的方法,使用 findxargs:

 find /path/to/dir -name '*.*' -print0 | xargs -0r grep -F "string to search"

同样,如果您想在当前目录中搜索,可以将 . 写为目录参数(在 find 之后)。

编辑: 正如 @EdMorton 指出的,如果您想搜索简单的文本,则 grep 需要 -F 选项的正则表达式。我将其添加到上面的示例中,因为您似乎正在尝试搜索可能包含特殊字符的 PHP 片段,这将导致正则表达式模式下的不同输出。

关于macos - 使用终端查找文件夹内的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46128565/

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