在Linux服务器上,我需要在当前目录和所有子目录中查找具有特定文件扩展名的所有文件。
以前,我一直使用下面的命令:
find . -type f | grep -i *.php
但是 ,它找不到隐藏的文件,例如.myhiddenphpfile.php 。 以下find隐藏的PHP文件,但不是非隐藏的:
find . -type f | grep -i \.*.php
我怎样才能find隐藏的和非隐藏的PHP文件在同一个命令?
…
find . -type f -name '*.php'
最好使用iname(不区分大小写)。
我使用这个find命令来search隐藏的文件:
find /path -type f -iname ".*" -ls
摘自: http : //www.sysadmit.com/2016/03/linux-ver-archivos-ocultos.html
问题是grep,而不是find(试着find . -type f
来看看我的意思)。
如果你不引用*
那么shell会扩展它 – 甚至在grep看到它的命令行参数之前; 由于shell默认情况下没有find隐藏的文件,因此会出现问题。
只find隐藏文件的原因是因为shell已经扩展了*
,所以grep只匹配那个文件。