好吧,也许这听起来很简单,但对我来说却有点挑战
我有一个名为 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/