linux - 删除目录中的旧文件

标签 linux bash

好吧,也许这听起来很简单,但对我来说却有点挑战

我有一个名为 backups 的目录,它有(备份文件 + 其他文件)

备份文件:

../backups/backup-2013_03_03.zip
../backups/backup-2013_03_05.zip
../backups/backup-2013_01_01.zip
../backups/backup-2013_08_16.zip
../backups/backup-2013_02_28.zip
../backups/backup-2013_01_21.zip
../backups/backup-2013_03_29.zip
../backups/backup-2013_04_05.zip

我正在尝试删除超过 90 天的备份文件。

 find /var/tmp/stuff -mtime +90 -print | xargs /bin/rm

似乎可行,但我无法将搜索限制为仅备份文件。 “以备份开头的文件*”

我曾尝试添加“-iname backup”选项来查找命令参数,认为它可以解决问题,但它似乎不起作用。 有任何想法吗?

谢谢

最佳答案

您可以在调用 rm 之前通过 grep 进行管道传输。像这样的东西:

find /var/tmp/stuff -mtime +90 -print | grep 'backup-' | xargs /bin/rm

虽然 find 实用程序有各种选项可以单独执行此操作,包括其他答案中提到的删除,但除了最基本的选项外,我永远记不起任何选项。

find "stuff" | grep "some_other_stuff" | xargs "do_stuff"

对我来说似乎更容易记住。

关于linux - 删除目录中的旧文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20130226/

相关文章:

linux - 将 netstat 输出附加到文件的 Bash 脚本?

linux - 通过网络获取最新版本 rpm 的最有效方法

linux - 根据映射对字符串进行更改

git - 如何在带有别名的gitconfig中正确使用bash变量

linux - 即使在注销/登录后,hyper-v ubuntu 对 ~/.profile 的更改也不会生效

linux - 我应该学习哪种语言?

python - 使用 ffmpeg 和 python 2.7 在 Fedora 26 25 24 23 或 22 上安装 OpenCV 2.4.13 或 3.x 时出现 VideoCapture 不工作错误

android - Android rom.zip 中到底是什么

linux - Varnish 错误 : vcl. 加载/etc/varnish/default.vcl 失败

linux - 如何从终端窗口在 Linux 中创建文件?