/ usr/bin/find:参数列表太长,在尝试删除164850文件时得到这个

cma*_*c68 9 linux bash find

这是脚本

#!/bin/bash  
find /mnt/blah/DB/* -mtime +65 | xargs rm -Rf "{}" \; 
Run Code Online (Sandbox Code Playgroud)

我也尝试了以下,但都没有工作,并且都按照标题得到错误.

find /mnt/blah/DB/* -mtime +35 -exec rm {} \;
Run Code Online (Sandbox Code Playgroud)

所有帮助非常感谢.

Wil*_*ell 35

只需放下*并执行:

find /mnt/blah/DB -mtime +35 -type f -exec rm {} \;
Run Code Online (Sandbox Code Playgroud)

仅列出要操作的目录树的顶级目录就足够了.

  • 这只会删除文件.如果要删除目录,则必须使用`rmdir`或`rm -r` (2认同)
  • 我以前的评论不准确; 如果要删除目录,可以使用`-delete`而不是`-exec ...` (2认同)