【问题标题】:Argument Too Long - Using RM and Wildcard参数太长 - 使用 RM 和通配符
【发布时间】:2015-03-25 13:26:31
【问题描述】:

我想清空我服务器上所有帐户中名为“cur”的文件夹。这是用这种格式设置的。我希望 cur 留下来。

/home/ACCNAME/mail/cur/*

尝试手动清空单个文件夹后

rm -f /home/ACCNAME/mail/cur/*

并出现“参数太长”。我可以确定我不能在所有帐户中使用通配符来运行它。

如果我想使用通配符在所有帐户中重复此过程,我将如何执行此过程

这样(但没有Argument too long 错误)

rm -f /home/*/mail/cur*

这样的东西有用吗?

或者第一个星号是否匹配它之后的所有内容,所以本质上它会删除整个主文件夹。

【问题讨论】:

标签: linux unix cpanel


【解决方案1】:

您可以使用 xargs 并找到:

for x in /home/*/mail/cur/
do
    find $x -type f 2>/dev/null | xargs rm -f 
done

【讨论】:

  • 由于这是 Linux 并且将具有 GNU findxargs,您可能更喜欢将 -print0find-0xargs 一起使用。或者你可以完全避免xargsfind "$x" -type f -exec rm -f {} + 甚至find "$x" -type f -delete。这三种机制都可以处理任意文件名。
猜你喜欢
  • 2012-07-02
  • 2019-06-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-01-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多