仅用于搜索确切文件名的 locate 命令

Ava*_*eka 9 command-line

每当我使用该locate命令时,它都会向我显示所有可能的环绕结果;如果我正在寻找xyz.c,并使用locate xyz.c 我得到

/../../../abc_xyz.c
  /../../../xyzabc_gvdvd.c
  /../../../abcxyz.c
 /../../../xyz.c
Run Code Online (Sandbox Code Playgroud)

如果我xyz.c只想要怎么办?

Zan*_*nna 13

man locate

EXAMPLES
   To search for a file named exactly NAME (not *NAME*), use
          locate -b '\NAME'
   Because \ is a globbing character, this disables the implicit  replace?
   ment of NAME by *NAME*.
Run Code Online (Sandbox Code Playgroud)

所以...

locate -b '\xyz.c'
Run Code Online (Sandbox Code Playgroud)

  • 这似乎不适用于“plocate”,它显然不认为 \ 是一个通配符。您可以使用“[N]AME”代替,这确实有效。 (5认同)
  • 同样有效的(使用 plocate/updatedb 1.1.15 测试)是适当的正则表达式: `locate --regex /xyz.c$` (2认同)