我尝试运行(unix-shell,win7):
find . -maxdepth 1 -name "*.jpg" -size -50k -delete
并得到错误:
find: invalid predicate '-delete'
有什么提示吗?
答案1
您还可以找到参数不仅在查找和删除操作中很有用,在运行命令后可能需要处理文本的其他操作中也很有用。在这种情况下,
find . -maxdepth 1 -name "*.jpg" -size -50k | xargs rm -f
请务必先使用 xargs 之前的“echo”检查您的工作(这样您可以在运行之前看到命令的样子)。它看起来像:
find . -maxdepth 1 -name "*.jpg" -size -50k | xargs echo rm -f
答案2
find
从您正在运行的 unix shell(从 Windows)中发现 的版本缺少-delete
谓词。
一个可能的替代方案是:
find . -maxdepth 1 -name "*.jpg" -size -50k -exec rm {} \;