Tente:
cd /var/cpanel/users &&
for i in *
do
find "/home/$i/public_html" -type f ! -iname '*cache*' -ctime -1 -ls
done > /home/demo4/public_html/output.html
Notas:
- Use
>>em vez de>, caso contrário, cada iteração substitui a saída do último. Ou redirecione a saída de todo o loop, caso em que você pode usar>. - algumas implementações de
findtêm uma opção-ls, que é bem parecida com-exec ls -ld {} \;, portanto, use-a quando estiver disponível. - Use o operador
!para negar pesquisas:! -iname '*cache*' - se o seu
findnão for compatível com o predicado% padrão-iname, use-name '*[cC][aA][cC][hH][eE]*'. - Como esses são nomes de usuário, você pode usar
for i in $(ls ..), mas é mais seguro para usarfor i in *.