尝试在命令行中搜索多个文件扩展名

我试图在命令行中找到两个扩展名,但是当我这样做时,它只会返回其中一个扩展名。 你能告诉我我错过了什么吗?

这是我的命令;

[root]# find /etc -name "*.txt" -o -name "*.log" -type f -mtime +7 -exec echo {} \; 

由于find评估逻辑测试的方式,您可能需要使用[escaped]括号对-name测试进行分组以获得所需的行为:

 find /etc \( -name "*.txt" -o -name "*.log" \) -type f -mtime +7 -exec echo {} \; 

我假设你使用echo作为你想要执行的其他-exec动作的占位符,否则你可以简单地使用

 find /etc \( -name "*.txt" -o -name "*.log" \) -type f -mtime +7 -print