使用find命令删除超过特定时间的多个扩展名

时间:2013-12-16 17:55:26

标签: linux shell find

我在find中使用“-o”选项找到了多个扩展名。

find "DIRECTORY" -type f -name \*.jpg -o -name \*.html -mtime +95

在上面我想删除两个超过特定时间的扩展名的所有文件。 通过使用-o列出多个名称,-mtime仅适用于第二个名称,还是旧的jpgs也被排除?

由于

2 个答案:

答案 0 :(得分:2)

您可以使用括号解决此问题:

find "DIRECTORY" -type f \( -name \*.jpg -o -name \*.html \) -mtime +95

find运算符按优先顺序进行评估。从手册:

 ( expr )
          Force precedence.  Since parentheses are special  to  the  shell,
          you  will  normally  need to quote them.  Many of the examples in
          this manual page use  backslashes  for  this  purpose:  `\(...\)'
          instead of `(...)'.

 expr1 expr2
          Two expressions in a row are taken to be joined with  an  implied
          "and"; expr2 is not evaluated if expr1 is false.

 expr1 -o expr2
          Or; expr2 is not evaluated if expr1 is true.

答案 1 :(得分:0)

它只适用于第二个参数,只是手动检查真正的快速