linux上的文件夹中的文件所有者列表

时间:2010-10-07 14:11:37

标签: linux shell

我有一个包含许多文件的文件夹。这些文件已由许多不同的用户创建。我不知道shell脚本。

我需要获取文件所有者的用户名(仅限)列表。

我可以保存ls -l的输出,然后使用perl python等解析它......

但是我怎么能用shell脚本来做呢?

3 个答案:

答案 0 :(得分:10)

一个简单的是

ls -l /some/dir/some/where | awk '{print $3}' | sort | uniq

它会为您提供一个独特且有序的所有者列表。

答案 1 :(得分:9)

stat -c "%U" *| sort -u

答案 2 :(得分:3)

到目前为止,这两种解决方案都很好,但有其局限性。

这应该保证您正确并递归地搜索目录树中的每个文件。

TRUE

换句话说,递归搜索sudo find /some/dir/ -exec stat -c "%U" {} + | sort | uniq 中的文件,并对文件执行/some/dir(打印用户名),尽可能少stat -c "%U"次调用stat然后,当然-exec <cmd> {} +用户名列表,所以你可以反过来剔除它们只是sort ue用户名集。