¿Cómo puedo hacer que el comando find muestre una barra diagonal después de los directorios? Por ejemplo, quiero dir
aparecer como en dir/
lugar de dir
. Estoy usandofind . -print
19
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)
( D
para incluir archivos de puntos, M
para agregar un /
directorio posterior)
Esto utiliza el comando printf para formatear nombres de directorio e impresión estándar para el resto.
fuente
-printf
es específico de GNU find.find
los 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
Es una opción también.
Desde una página de manual de Solaris:
fuente