Shell命令用于查找目录模式中的文件

时间:2011-01-02 23:58:36

标签: linux bash shell console

使用shell命令我需要以下列目录模式列出我服务器上的所有文件:

  

/家庭/ * /的public_html /图像/ *。PHP

有几个人需要很长时间才能手动执行此操作。我真的不知道这些命令是什么。

4 个答案:

答案 0 :(得分:14)

find /path/to/directory/.  -path "*/match/this/path/*" -type f -name "*.php"

答案 1 :(得分:12)

Shell脚本:

find /home/*/public_html/images -iname "*php" -exec echo {} \;

然后,您可以更改-exec命令以对返回的文件执行任何操作。在这种情况下,我们回应它们,但您也可以轻松地执行其他操作。

答案 2 :(得分:5)

让bash为您展开文件并使用ls列出它们:

ls /home/*/public_html/images/*.php

示例输出:

/home/grant/public_html/images/bar.php
/home/grant/public_html/images/foo.php
/home/marcog/public_html/images/helloworld.php

答案 3 :(得分:-2)

使用PHP glob函数

glob('/home/*/public_html/images/*.php')

它将返回匹配路径字符串的数组。您也可以使用:

ls /home/*/public_html/images/*.php

或:

for i in /tmp/*/public_html/images/*.php;
do 
some_command "$i"
done
来自shell的