2009-01-15 58 views
0

我有以下命令删除一天前的文件并且是mp3文件类型的文件。将命令更改为不分叉并耗尽资源的命令

find /home/get/public_html/audio -daystart -maxdepth 1 -mtime +1 
-type f -name "*.mp3" |xargs rm -f 

与此问题是,当我运行它,它有时会说,

“叉”:资源xargs的不可用。

这是否表示这个命令先找到文件,然后启动很多进程来删除每个文件?

我怎么能(当找到一个文件时)立即删除它而不是它被管道到xargs?

我不能使用-delete(“invalid predicate”)。

回答

2

关于尝试什么:

 find /home/get/public_html/audio -daystart -maxdepth 1 -mtime +1 
    -type f -name "*.mp3" -exec rm -f {} \;
0

检查发现你的手册页,它可能支持-delete,使得它作为简单

find /home/get/public_html/audio -daystart -maxdepth 1 \ 
    -mtime +1 -type f -name "*.mp3" -delete 
0

也许你可以使用“-delete”标志找到,而不是管道到xargs的?