【问题标题】:how to delete all files with a path pattern如何删除具有路径模式的所有文件
【发布时间】:2012-06-26 06:33:40
【问题描述】:

我有一个备份位置,它使用硬链接来存储现有或更改的文件。这些备份的位置模仿了带有日期部分的 linux 文件系统。

例如我有文件

/backup/servername/2012-06-26T00.43.01/www.website.com/file1.html
/backup/servername/2012-06-26T06.43.01/www.website.com/file1.html
/backup/servername/2012-06-26T06.43.01/www.website.com/file2.html
/backup/servername/2012-06-26T12.43.01/www.website.com/file1.html
/backup/servername/2012-06-26T12.43.01/www.website.com/file2.html

如何找到所有包含 www.website.com 的文件,以便删除它们

我有这个命令组合来删除我可以用 find 找到的文件,但我不知道如何找到这些文件。

find . -name 'filename.*' -print0 | xargs -0 rm

【问题讨论】:

  • 我不明白你的问题。如果您只运行 find 而不将其结果传递给 xargs 会发生什么?您是否指定了正确的路径,即。这些文件是否位于相对于您当前工作目录的子目录中?如果不是,请将. 替换为正确的路径。

标签: linux find rm


【解决方案1】:

你的术语有点松散,所以很难理解你到底想要什么。但是,如果我理解正确,您想删除 一个名为 www.website.com 的目录中的所有文件:

find . -wholename '*/www.website.com/*.html' -delete

【讨论】:

  • 我的回答没错,我没有测试任何一个。 +1
【解决方案2】:

如果我理解你的话,你可以这样使用:find /backup/servername/2012-06-26T12.43.01/www.website.com/ -iname '*file*' -print0 | xargs -0 rm

【讨论】:

  • 这不会找到 OP 正在寻找的 all 文件。它只会在2012-06-26T12.43.01 目录中找到文件。
猜你喜欢
  • 1970-01-01
  • 2011-01-14
  • 2020-05-30
  • 1970-01-01
  • 2015-04-19
  • 2015-08-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多