【问题标题】:/usr/bin/find: Argument list too long, getting this while trying to delete 164850 files/usr/bin/find:参数列表太长,在尝试删除 164850 个文件时得到这个
【发布时间】:2014-12-09 05:20:38
【问题描述】:

这是脚本

#!/bin/bash  
find /mnt/blah/DB/* -mtime +65 | xargs rm -Rf "{}" \; 

我也尝试了以下方法,但都不起作用,并且都根据标题得到错误。

find /mnt/blah/DB/* -mtime +35 -exec rm {} \;

非常感谢所有帮助。

【问题讨论】:

    标签: linux bash find


    【解决方案1】:

    只需删除 * 并执行以下操作:

    find /mnt/blah/DB -mtime +35 -type f -exec rm {} \;
    

    只列出要操作的目录树的顶级目录就足够了。

    【讨论】:

    • William 会删除目录下的文件还是删除实际目录?
    • 这只会删除文件。如果要删除目录,则必须使用rmdirrm -r
    • 除了 Williams 的回答,因为你有一个“-type f”,你只是将文件而不是目录传递给 exec rm
    • 我之前的评论不准确;如果要删除目录,可以使用-delete 而不是-exec ...
    猜你喜欢
    • 2015-04-27
    • 2018-07-24
    • 2014-08-30
    • 1970-01-01
    • 2015-01-17
    • 2021-11-16
    • 1970-01-01
    • 2020-05-08
    • 2011-03-12
    相关资源
    最近更新 更多