【问题标题】:Delete all files and directories - except specified删除所有文件和目录 - 指定除外
【发布时间】:2013-07-03 10:55:05
【问题描述】:

一直在寻找这个。 我们有一个公共目录,每个人都有 rwx 权限。为了防止这种情况不成比例地增长,我需要每月清除一次。没问题,除了我应该保留 2 个目录 - 其中一个的名称中有空格。

我有这个 find 命令列出应该删除的内容;

find /COMMON/* | grep -v 'keepthis' | grep -v 'keep this too'

但是,我完全不知道如何rmdelete 输出

我在谷歌上搜索了数百万条建议,但它们不适合 - 我相信这是因为目录名称中的空格。
那么:该命令应该如何结束才能工作?

【问题讨论】:

  • 请至少包括您正在使用的操作系统或环境。delete 问题上的单个标签如果没有其他信息是完全没有意义的;它可以适用于 Windows/*nix/a DBMS/C/C++ 或任何数量的其他主题。谢谢。

标签: linux delete-file


【解决方案1】:

先发送到 xargs 然后再 rm:

find /COMMON/* -maxdepth 0 | grep -v 'keepthis' | grep -v 'keep this too' | xargs -rd '\n' rm -r --

根据您的建议编辑 :)

【讨论】:

  • 是的,但我猜他需要自动化流程,而不要求删除。但这仍然不能解决我认为他遇到的问题:|
  • 谢谢,但它没有用 - 抱歉,我不能更具体,但建议的方法都没有删除任何东西。我在 SLES11,顺便说一句
  • 抱歉没有刷新。只在 xargs 出现之前检查过。将再次检查。
  • 现在我们正在取得进展。所有应该删除的文件都消失了。现在我们所需要的只是让不需要的目录也可以去。到目前为止谢谢!
  • 工作正常。一些消息“没有这样的文件或目录”,但它按预期工作。谢谢!
猜你喜欢
  • 2023-03-07
  • 2019-07-11
  • 2010-10-26
  • 2018-01-05
  • 1970-01-01
  • 2021-06-11
  • 2015-11-05
  • 2019-11-21
  • 1970-01-01
相关资源
最近更新 更多