Метод ThorstenS, кажется, требует больше работы, чем мне нужно, потому что он запускает поиск несколько раз. Для начала я бы просто выполнил команду 1 find и вывел владельца и размер каждого файла, а затем применил к этому файлу какую-то магию.
Поиск будет что-то вроде того, что возвращает имя пользователя (или номер идентификатора без имени пользователя) и пространство, используемое в байтах, в файле с разделителями из нулевого байта:
sudo bash -c 'find . -printf "%u\0%s\0" > username_usage'
Вы можете заменить что- \0
то, с чем может быть немного проще работать, например, вкладками или новыми строками, но это будет менее безопасно, если у вас есть прикольные имена файлов.
Если вы хотите быть еще более эффективным, вы можете перенаправить вывод в скрипт, который обрабатывает его во время работы, но это будет немного больше работы, и вам придется сделать это правильно с первого раза.