通过完整文件名查找文件?

通过完整文件名查找文件?

当我运行时locate syn,它将返回syn文件名中出现的文件。

如何搜索带全名的文件syn?是locate --regex syn$正确的方法,但locate --regex ^syn$不是吗?

答案1

--regex选项适用于整个路径,而不仅仅是文件名。因此,locate --regex syn$将匹配其路径(包括其名称)以结尾的所有文件和目录,synlocate --regex syn$仅匹配其整个路径syn为且此类文件不存在的文件:

$ locate --regex ^etc$ ## returns nothing
$ locate --regex ^/etc$
/etc

您正在寻找的选项是-b

   -b, --basename
          Match  only  the base name against the specified patterns.  This
          is the opposite of --wholename.

因此,你可以这样做

locate -b --regex ^sys$

这将列出locatedb名称恰好为 的所有文件和文件夹sys

相关内容