有效搜索文件和目录的唯一所有者

mle*_*gge 3 ls recursive files

我想查看某个目录下所有文件和目录的唯一所有者。

我努力了:

ls -ltR <dir-path> | grep -P '^[d|\-]' | awk '{print $3}' | sort | uniq
Run Code Online (Sandbox Code Playgroud)

这犯了尝试解析输出的主要错误ls,但它是有效的——直到我在一个复杂的目录结构中包含大量文件的目录上尝试它,它陷入困境并挂起。

虽然我可以解决这个问题,简单地在较低级别执行命令并逐步完成,但我想知道是否有一种更有效的方法可以一次性完成此操作?

kar*_*rao 5

这是使用 find 的稍短版本:

find <path> -printf "%u\n" | sort -u

根据目录结构的复杂性,这可能会也可能不会更有效。