список владельцев файлов в папке на Linux - PullRequest
11 голосов
/ 07 октября 2010

У меня есть папка с большим количеством файлов.Файлы были созданы многими разными пользователями.Я не знаю о сценариях оболочки.

Мне нужно получить список имени пользователя (только) владельцев файлов.

Я могу сохранить вывод команды ls -l, а затемпроанализировать его с помощью Perl Python и т.д ...

Но как я могу сделать это с помощью сценариев оболочки?

Ответы [ 3 ]

10 голосов
/ 07 октября 2010

Простой -

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

, который дает вам уникальный и отсортированный список владельцев.

9 голосов
/ 07 октября 2010
stat -c "%U" *| sort -u
3 голосов
/ 29 марта 2017

Два решения пока хороши, но имеют свои ограничения.

Это должно гарантировать вам правильный и рекурсивный поиск каждого файла в дереве каталогов.

sudo find /some/dir/ -exec stat -c "%U" {} + | sort | uniq

Другими словами, рекурсивно ищите файлы в /some/dir и выполняйте stat -c "%U" (печать имени пользователя) для файлов, как можно меньше вызовов stat (синтаксис -exec <cmd> {} +), а затем, конечно, sort список имен пользователей, так что вы можете в свою очередь отбросить их только на uniq ue набор имен пользователей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...