Shell 查找包含字符串的特定目录中的所有PHP文件

Shell 查找包含字符串的特定目录中的所有PHP文件,shell,Shell,我想知道是否有人能帮我 我目前正在使用以下工具查找某个目录中的所有PHP文件 find /home/mywebsite -type f -name "*.php" 我如何扩展它来搜索这些PHP文件,并获得所有带有base64_decode字符串的文件 任何帮助都会很好 干杯 find /home/mywebsite -type f -name '*.php' -exec grep -l base64_decode {} + find的-exec选项对找到的文件执行命令{}替换为文件名,+意味

我想知道是否有人能帮我

我目前正在使用以下工具查找某个目录中的所有PHP文件

find /home/mywebsite -type f -name "*.php"
我如何扩展它来搜索这些PHP文件,并获得所有带有base64_decode字符串的文件

任何帮助都会很好

干杯

find /home/mywebsite -type f -name '*.php' -exec grep -l base64_decode {} +
find
-exec
选项对找到的文件执行命令
{}
替换为文件名,
+
意味着它应该对所有文件名重复此操作
grep
在文件中查找字符串,并且
-l
选项告诉它在有匹配项时只打印文件名,而不是所有匹配行

如果您从
find
中收到错误,则可能是旧版本不支持
+
-exec
功能。请改用此命令:

find /home/mywebsite -type f -name '*.php' | xargs grep -l base64_decode
xargs
读取其标准输入,并将其转换为命令行参数中的参数

find
-exec
选项对找到的文件执行命令
{}
替换为文件名,
+
意味着它应该对所有文件名重复此操作
grep
在文件中查找字符串,并且
-l
选项告诉它在有匹配项时只打印文件名,而不是所有匹配行

如果您从
find
中收到错误,则可能是旧版本不支持
+
-exec
功能。请改用此命令:

find /home/mywebsite -type f -name '*.php' | xargs grep -l base64_decode

xargs
读取其标准输入,并将其转换为命令行参数中的参数。

谢谢,但我收到一个错误消息-find:missing argument to`-exec'谢谢,但我收到一个错误消息-find:missing argument to`-exec'