如何从 locate 命令的输出中获取详细信息?

use*_*637 7 command-line bash ls locate

当我运行该ls -l命令时,我会获得有关当前目录中文件的详细信息,例如权限、所有者、组、文件大小。

有没有办法在运行时获得这些相同的详细信息,而不仅仅是文件的位置locate

enz*_*tib 5

locate数据库不包含其他的名称,所以你应该运行一些其他工具的信息,比如ls,在locate输出

lsloc() {
  locate "$@" | 
    while read -r name; do
      ls -ld "$name"
    done
}
lsloc pattern
Run Code Online (Sandbox Code Playgroud)


小智 5

locateto的输出通过管道传输xargsls -l作为参数添加到xargs)。这使您可以使用任一命令所需的任何选项。通过同时将-0(破折号零)选项传递给这两个命令,您还可以防止对文件名中的空格或换行符进行意外解释。例如,要获取我系统上所有 .iso 文件的详细信息:

locate -0 -r '.*.iso$' | xargs -0 ls -l
Run Code Online (Sandbox Code Playgroud)