【发布时间】:2022-01-20 10:33:57
【问题描述】:
我正在尝试从 /home 目录中递归地隔离一些受 PHP 感染的文件,其中包括 8 个字母字符。
一旦进入目录,我就可以使用以下命令找到它们:
find ./ -regextype posix-egrep -regex ^./[a-zA-Z0-9]{8}\.php$
或者
find ./ -regextype posix-egrep -regex '^./[a-zA-Z0-9]{8}\.php$'
但是一旦我从另一个目录尝试:
find /home -regextype posix-egrep -regex '^./[a-zA-Z0-9]{8}\.php$'
它没有任何结果。 我试图添加标志 -L (--follow) 但它没有任何结果并且有很多。文件系统循环错误。
我在网上阅读了许多似乎与 glob 相关的答案并找到了作品。 我尝试了不同的解决方案,例如:
find . -type f -print | egrep '^./[a-zA-Z0-9]{8}\.php$'
理想情况下,无论深度如何,输出都应该是完整路径,因此我可以快速将它们全部删除。
【问题讨论】:
-
和
'^.*/[a-zA-Z0-9]{8}\.php$'? -
这工作谢谢你:)