linux如何在特定文件夹中查找特定文件

标签 linux find

<分区>

这是我的文件夹结构:

/site1/myFolder/otherFolder1/a.gif

/site1/myFolder/otherFolder1/b.png

/site1/myFolder/otherFolder1/c.php

...

/site2/myFolder/otherFolder2/d.gif

/site2/myFolder/otherFolder2/e.png

/site2/myFolder/otherFolder2/f.php

...

/site3/myFolder/otherFolder3/g.gif

/site3/myFolder/otherFolder3/h.png

/site3/myFolder/otherFolder3/i.php

...

走到这一步:

find /var/www/html -type d -name myFolder -exec find {} -name "*.php"  \;

for i in `find /var/www/html -type d -name myFolder -exec find {} -name "*.php"  \;`
  do
    some_house_keeping_here
  done

但是我想做这样的事情:

find /var/www/html -type d -name myFolder -exec find {} -name "*.php" -exec do_some_housekeeping {} \; \;

最佳答案

您可以使用 -path 选项代替 -name。它会将整个绝对路径与正则表达式匹配。

find /var/www/html -path "*/myFolder/*.php" -exec do_some_housekeeping {} \;

关于linux如何在特定文件夹中查找特定文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18849837/

相关文章:

java - Selenium Webdriver - 从 li/a 查找动态 id

arrays - 如何捕获 ls 或 find 命令的输出以将所有文件名存储在数组中?

bash - 循环目录和文件 bash 脚本 - awk 不写入文件

r - 编译 R 3.3.1

c++ - 在 Linux 上构建 OpenCV 代码的问题

linux - 发行版之间的可执行二进制文件之间有什么区别吗?

linux - 在 linux/bash 中创建无限循环的重复文件 cat

linux - fork 产生的唯一开销是页表复制和进程 ID 创建

bash - 如何在 bash 中限制命令 find 的结果?

c++ - 使用 find() 将一行拆分为标记