如何查找除名字以外的文件? [英] How to find files except given name?

查看:147
本文介绍了如何查找除名字以外的文件?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个dir:


  • bla-bla-bla1.tar.7z

  • bla-bla-bla2.tar.7z

  • bla-bla-bla3.tar.7z

  • _bla-bla-bla_foo.tar.7z



除了_ .7z之外,我需要找到并删除所有 .7z p>

我使用find / backups / -name* .7z-type f -mtime +180 -delete

如何才能做到这一点?

解决方案

另一种方法是使用 find

  find / backups / -name* .7z! -name'_.7z'-type f -mtime +180 -delete 

这个简单的正则表达式其他答案更适合您的用例,但是这显示了使用 find >找到的运算符的更一般的方法。

I have a dir with:

  • bla-bla-bla1.tar.7z
  • bla-bla-bla2.tar.7z
  • bla-bla-bla3.tar.7z
  • _bla-bla-bla_foo.tar.7z

I need to find and delete all files ".7z" except "_.7z"

I use find /backups/ -name "*.7z" -type f -mtime +180 -delete

How i can do it?

解决方案

Another approach is to use an additional, negated primary with find:

 find /backups/ -name "*.7z"  ! -name '_.7z' -type f -mtime +180 -delete

The simple regex in the other answers is better for your use case, but this demonstrates a more general approach using the ! operator available to find.

这篇关于如何查找除名字以外的文件?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆