Unix - THIS IS A SHELL xa MOSTRAR EL TREE OF DIRECTORY

 
Vista:

THIS IS A SHELL xa MOSTRAR EL TREE OF DIRECTORY

Publicado por SuperIndio (16 intervenciones) el 07/06/2007 19:53:28
ESTE ES UN SHELL PARA MOSTRAR EL ARBOL DE DIRECTORIOS

#!/bin/ksh
#------------------------------------------------------------------#
# Shell Script...........: tree
# Descripcion............: Displaya el Arbol de directorios
# Autor..................: Ismael Farfan Atlas II Desarrollo
# Fecha..................: 24/10/2003
#------------------------------------------------------------------#
USAGE="Usage: $0 [directory]"
case $# in
0) dir=`pwd` ;;
1) if [ ! -d $1 ]; then
echo "$1: not a directory" >$2
echo $USAGE >$2
exit 1
fi
dir=$1 ;;
*) echo $USAGE
exit 1 ;;
esac
echo " "
cd $dir
cdir=`pwd`
if [ $cdir = "/" ]
then
find . -type d -print |
sort |
awk -F/ 'NR == 1 { print "/" }
NR > 1 { for (count = 1; count < NF-1; count++)
printf " "
print " |----> "$NF }'
else
find . -type d -print |
sort |
awk -F/ 'NR == 1 { print "'`basename $cdir`'" }
NR > 1 { for (count = 1; count < NF-1; count++)
printf " "
print " |----> "$NF }'
fi
echo " "
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:THIS IS A SHELL xa MOSTRAR EL TREE OF DIRECTORY

Publicado por Tom (178 intervenciones) el 11/06/2007 12:12:31
Hummmm ... no funciona. :-/
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:THIS IS A SHELL xa MOSTRAR EL TREE OF DIRECTORY

Publicado por SuperIndio (16 intervenciones) el 11/06/2007 20:40:58
funciona
{2-indio2}/apps/s316/dr1/site/indio>tree

indio
|----> bkp
|----> bms
|----> c
|----> cpy
|----> jcl
|----> map
|----> otr
|----> src
|----> tab
|----> tmp

{2-indio2}/apps/s316/dr1/site/indio>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:THIS IS A SHELL xa MOSTRAR EL TREE OF DIRECTORY

Publicado por Tom (178 intervenciones) el 15/06/2007 18:20:03
Curioso. No hace nada ni en Fedora 4 ni en Solaris :-/

Aunque, tienes razón, funciona en Fedora Core 6.

Sin embargo, el comando tree funciona de miedo :-)

Y, ya puestos, algo que funcionará con cualquier bash:

#!/bin/sh

DIRE=$1
DIRE=${DIRE:-"."}

PARSE() {
echo -n " "
BS=$(dirname $1)
[ $BS != $1 ] && (echo -n "|"; PARSE $BS)
}

find $DIRE -type d | sort | while read F
do
PARSE $F
echo "|- $(basename $F)"
done
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar