Cátedra: Osvaldo Clua
Fecha: Primer recuperatorio - Primer Cuatrimestre 2005
Día: 07/06/2005
Tema: UNIX
Se tiene en un directorio una serie de archivos uno de ellos es para control (control.dat), con la siguiente información:
Se debe entonces hacer un script que recia como parámetro un directorio y a partir del archivo antes mencionado valide el contenido del directorio. Esto significa verificar que los archivos contenidos en control.dat existen en el directotio y tienen la cantidad especificada. Ademas verificar si hay archivos en el directorio que no se encuentran en control.dat. Listar todos estos resultados en un archivo salida.txt
Ej:
prueba.sh : ok
Archi.txt : distinta cantidad de lineas
Parcial.pl : no existe en el directorio
Ejemplo.c : no existe en control.dat
Si el directorio pasado como parámetro o el archivo de control no existen abortar el script
#!/bin/bash if [ $# -ne 1 -o ! -d "$1" -o ! -f "$1/control.dat" ] then echo "Error de parámetros." exit 1 fi OUT=salida.txt rm -f "$OUT" for file in `ls "$1"` do [ "$file" == "control.dat" ] && continue echo -n "$file: " | tee -a "$OUT" record=`grep '^'"$file"';' "$1/control.dat"` if [ -z $record ] then echo "No existe en control.dat" | tee -a "$OUT" continue fi if [ `cat $1/$file | wc -l` -ne `echo $record | cut -d';' -f2` ] then echo "Distinta cantidad de líneas." | tee -a "$OUT" continue fi echo "Ok." | tee -a "$OUT" done exit 0