Você pode usar os resultados de seus comandos canalizados com um loop while:
du -hs */ | sort -rh | head -3 | while read -r size dir
do
ls -l "$dir"
done
Como um forro:
du -hs */ | sort -rh | head -3 | while read -r size dir ; do ls -l "$dir"; done
Obrigado ao steeldriver por sugerir o uso de read
em um loop while
sobre um loop for
usando awk
, para manipular nomes de arquivos com espaços e caracteres especiais de maneira mais robusta.