Script Mostrar Arbol Directorios

#!/bin/bash # Script para mostrar en forma de arbol los directorios contenidos en un directo rio # dado utilizando una f

Views 67 Downloads 2 File size 10KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

  • Author / Uploaded
  • durii
Citation preview

#!/bin/bash # Script para mostrar en forma de arbol los directorios contenidos en un directo rio # dado utilizando una funcion recursiva # # Script realizado por Stephane Chazelas # http://www.pluto.it/files/ildp/guide/abs/contributed-scripts.html # # Puede recibir como parametro la ruta donde empezar. Si no se especifica, empie za # desde la carpeta actual # Ejemplo: $ bash tree.sh /home/user/ ricerca () { for dir in `echo *` # `echo *` enumera todos los archivos en el directorio de trabajo actual # sin saltos de linea, algo similar a la instruccion: for dir in * do if [ -d "$dir" ] ; then # Si se trata de un directorio (-d) zz=0 # Variable temporal para registrar el nivel # del directorio. while [ $zz != $1 ] # Bucle para mostrar las barras verticales inter iores do echo -n "| " # Muestra el simbolo del enlace vertical zz=`expr $zz + 1` done if [ -L "$dir" ] ; then

# Si el directorio es un link simbolico

(-L) # Mostramos el simbolo del enlace seguido del nombre del directorio # eliminando la parte de la fecha y hora echo "+---$dir" `ls -l $dir | sed 's/^.*'$dir' //'` else echo "+---$dir"

# Muestra el simbolo del enlace

numdir=`expr $numdir + 1` if cd "$dir" ; then

# Incrementa el contador del directorio # Si se ha podido acceder al directorio.

.. ricerca `expr $1 + 1` cd ..

# llamada recursiva # volvemos al directorio anterior

fi fi fi done } # Si recibimos algun valor, nos movemos al directorio indicado if [ $# != 0 ] ; then cd $1 fi echo "Directorio inicial = `pwd`" numdir=0 ricerca 0 echo "Total directorios = $numdir"

exit 0