Respuestas:
Portablemente:
find . -type d -exec sh -c 'printf "%s/\n" "$0"' {} \; -or -print
Si está dispuesto a enumerar directorios y archivos por separado (puede fusionar la salida ordenando):
{ find . -type d -print | sed 's!$!/!'; find . \! -type d; } | sort
Con GNU find, vea la respuesta de Shawn J. Goff .
Si está dispuesto a arriesgarse a que los caracteres no imprimibles sean destrozados incluso cuando no se envían a un terminal, consulte la respuesta de ddeimeke .
En zsh: print -rl -- **/*(DM)( Dpara incluir archivos de puntos, Mpara agregar un /directorio posterior)
find . \( -type d -printf "%p/\n" , -type f -print \)
Esto utiliza el comando printf para formatear nombres de directorio e impresión estándar para el resto.
-printfes específico de GNU find.
findlos argumentos posicionales le permiten obtener resultados avanzados como este. Sin embargo, tenga en cuenta que sin los espacios alrededor de la coma, no funcionará.
find . -type d -printf '%p/\n' -or -print
Tal vez
find . -print0 | xargs -0 ls -Fd
Es una opción también.
Desde una página de manual de Solaris:
-F Marca directorios con una barra inclinada final (/), puertas con un signo posterior mayor que (>), archivos ejecutables con un asterisco final (*), FIFOs con una barra vertical final (|), enlaces simbólicos con un final " en "sign (@), y AF_UNIX se dirigen a los sockets de familias con un signo trail igual a igual (=). Sigue enlaces simbólicos nombrados como operandos.