Google
Web dns.bdat.net
next up previous contents
Next: Claves Up: Prácticas Previous: Ejercicios propuestos   Índice General

Ejercicios resueltos sobre ficheros y directorios

Guion de shell que genere un fichero llamado listaetc que contenga los ficheros con permiso de lectura que haya en el directorio /etc:

for F in /etc/*
do
if [ -f $F -a -r $F ]
then
echo $F >> listaetc
fi
done

Hacer un guion de shell que, partiendo del fichero generado en el ejercicio anterior, muestre todos los ficheros del directorio /etc que contengan la palagra "procmail":

while read LINEA
do
if grep procmail $L >/dev/null 2>&1
then
echo $L
fi
done <listaetc

Hacer un guion de shell que cuente cuantos ficheros y cuantos directorios hay en el directorio pasado como argumento:

DI=0
FI=0
for I in $1/*
do
if [ -f $I ]
then
let FI=FI+1
fi
if [ -d $I ]
then
let DI=DI+1
fi
done

Hacer un guion de shell que compruebe si existe el directorio pasado como argumento dentro del directorio activo. En caso de que exista, que diga si no está vacío.

if [ -d $1 ]
then
echo "$1 existe"
N=$(ls | wc -l)
if [ $N -gt 0 ]
then
echo "S1 no está vacio, contiene $N ficheros no ocultos"
fi
fi

Hacer un guion de shell que copie todos los ficheros del directorio actual en un directorio llamado csg. Si el directorio no existe el guion lo debe de crear.

if [ ! -d csg ]
then
mkdir csg
fi
cp * csg

Hacer un script que muestre el fichero del directorio activo con más líneas:

NLIN=0
for I in *
do
if [ -f $I ]
then
N=$(wc -l $I)
if [ $N -gt $NLIN ]
then
NOMBRE=$I
NLIN=$N
fi
fi
done
echo "$NOMBRE tiene $NLIN lineas"

next up previous contents
Next: Claves Up: Prácticas Previous: Ejercicios propuestos   Índice General
Pedro Pablo 2001-12-14