¿Hay algún comando de Linux que pueda llamar desde un script Bash que imprima la estructura de directorios en forma de árbol, por ejemplo,
folder1
a.txt
b.txt
folder2
folder3
linux
command-line
usuario243655
fuente
fuente
find
. Ofind . -not -path '*/\.*'
para ocultar archivos y carpetas que comienzan con.
. Si desea tener salida con espacios, como en la pregunta, úsela con este script "buscar prettifier":find . -not -path '*/\.*' | python -c "import sys as s;s.a=[];[setattr(s,'a',list(filter(lambda p: c.startswith(p+'/'),s.a)))or (s.stdout.write(' '*len(s.a)+c[len(s.a[-1])+1 if s.a else 0:])or True) and s.a.append(c[:-1]) for c in s.stdin]"
Respuestas:
¿Es esto lo que estás buscando árbol ? Debería estar en la mayoría de las distribuciones (tal vez como una instalación opcional).
muestra tomada de la página web del mantenedor.
Puede agregar la opción
-L #
donde#
se reemplaza por un número, para especificar la profundidad máxima de recursión.Eliminar
-d
para mostrar también los archivos.fuente
-d
para mostrar archivos también!brew install tree
apt-cyg install tree
(suponiendo que haya instalado apt-cyg)apt-get install tree
lo instalará.Puedes usar este:
Mostrará una representación gráfica de los subdirectorios actuales sin archivos en unos segundos , por ejemplo, en /var/cache/:
Fuente
fuente
ls -R | grep ":$" | sed -e 's/:$//' -e 's/[^-][^\/]*\// /g' -e 's/^/ /'
.git
?find . | sed -e "s/[^-][^\/]*\// |/g" -e "s/|\([^ ]\)/|-\1/"
Para agregar la solución de Hassou a su .bashrc, intente:
fuente
alias lst='ls -R | grep ":$" | sed -e '"'"'s/:$//'"'"' -e '"'"'s/[^-][^\/]*\//--/g'"'"' -e '"'"'s/^/ /'"'"' -e '"'"'s/-/|/'"'"''
Este comando funciona para mostrar carpetas y archivos .
Salida de ejemplo:
Fuente: Comentario de @javasheriff aquí . Está sumergido como un comentario y publicarlo como respuesta ayuda a los usuarios a detectarlo fácilmente.
fuente
find . |grep -vE 'pyc|swp|__init' | sed -e "s/[^-][^\/]*\// |/g" -e "s/|\([^ ]\)/|-\1/"
funcionaba bienEstoy embelleciendo la salida de la respuesta de @ Hassou con:
Esto es muy parecido a la salida de
tree
ahora:También puedes hacer un alias:
Por cierto,
tree
no está disponible en algún entorno, como MinGW. Entonces la alternativa es útil.fuente
También puede usar la combinación de los comandos find y awk para imprimir el árbol de directorios. Para obtener detalles, consulte " Cómo imprimir una estructura de directorio de árbol multinivel utilizando los comandos combinados linux find y awk "
fuente