在 Linux 服务器 webroot 中的所有 .htaccess 文件中搜索单词和 return 文本文件的文件路径

Search all .htaccess files in a Linux server webroot for a word and return file paths to a text file

我有一个 Linux 服务器,我想在所有文件夹(public_html webroot 和子文件夹)中搜索所有包含特定单词(例如 ldap)的 .htaccess 文件。我还希望文件路径返回到这些 .htaccess 文件,其中包含单词并保存到文本文件中。 我可以用 grep 或 find 来做到这一点吗?什么语法是最佳的。 我试过 find . -type f -printf '"%p"\n' | xargs grep ldap > /tmp/results.txt 但只想专门搜索 .htaccess 文件。 谢谢

按照您的示例,尝试使用:

find . \( -type f -name .htaccess \) -print0 | xargs -0 grep -H ldap > /tmp/results.txt

此查找将在 .htaccess 中列出 null-terminated 个文件。目录,然后 xargs -0 将它们传递给 grep。 grep -H ldap 将列出包含带文件名的 ldap 字符串的文件。