我正在使用以下命令,但它不起作用
find . PYRLLPS_GL_201610D2* -maxdepth 1 -mtime -30
我收到以下错误
find: bad option -maxdepth
find: [-H | -L] path-list predicate-list
答案1
-maxdepth
不是由 POSIX 指定。您的版本似乎find
不支持该主要版本。
这里讨论仅使用 POSIX 选项来实现相同效果的方法:
另外,目前还不清楚你想做什么,但你可能其本身的用法很find
混乱:
如果您尝试查找名称以 开头的所有文件PYRLLPS_GL_201610D2
,则应该使用-name
运算符,并保护模式本身免于扩展(shell 通配符),以便find
看到模式本身,而不是由 shell 扩展的模式。
像这样:
find . -path '*/*/*' -prune -o -name PYRLLPS_GL_201610D2\* -mtime -30 -print
如果您尝试查找-mtime -30
直接位于当前目录或PYRLLPS_GL_201610D2*
当前目录中的目录之一中的所有文件,那么您的想法是正确的,只是缺少-maxdepth
上面链接的解决方法。
答案2
find . -maxdepth 1 -name PYRLLPS_GL_201610D2* -mtime -30
如果您想查找名为 PYRLLLPS_GL_201610D2AAAA 的文件,您需要以下代码:
find . -maxdepth 1 -name 'PYRLLPS_GL_201610D2*' -mtime -30