getent passwd | cut -d: -f1 | while read USER ; do
echo $USER #use this to show some kind of progress otherwise delete this string
find / -user $USER > ${USER}.txt 2>/dev/null
done
ps. Para mais informações, consulte loop de shell .
No entanto, é uma má ideia: você precisará executar find
em todo o sistema de arquivos quantas vezes forem os usuários que você possui.
Seremos muito mais inteligentes e faremos isso de outra maneira: executaremos find
apenas uma vez e dividiremos sua saída em um arquivo como este:
find / -printf "%u %p\n" | awk '{print $2 > $1".txt"}'