Proyecto

General

Perfil

#!/bin/sh

# Tiene de entrada un fichero de profesores descargado de Rayuela. Elimina de ?l los
# profesores ya dados de alta en Rayuela, de manera que quedan solamente los nuevos.
# Este script debe estar en el mismo directorio que el archivo .xml de exportacion
# de profes de Rayuela mas reciente (bueno, cualquiera vale, pero lo suyo es tener
# los profes al dia).
# Funcionamiento : genexpal_profes.sh Exportacion_Datos_Profes_Mas_Reciente.xml

if [ -f ./Profes_Nuevos.xml ]; then
rm -f ./Profes_Nuevos.xml
fi

clear

if [ $# -lt 1 ]; then
echo
echo Funcionamiento : genexpal_profes.sh Exportacion_Datos_Profes_Mas_Reciente.xml
ls -lh
exit 1
fi

if [ ! -f $1 ]; then
echo
echo Funcionamiento : genexpal_profes.sh Exportacion_Datos_Profes_Mas_Reciente.xml
echo Y ademas tiene que existir $1.
ls -lh
exit 1
fi

# Sacamos los nie para no hacer grep sobre un fichero tan gordo todo el tiempo
ldapsearch -xLLL -h ldap -b "ou=People,dc=instituto,dc=extremadura,dc=es" homeDirectory employeeNumber | tr '\n' ' ' | sed 's/dc=es/dc=es\n/g' | grep profesor | cut -d" " -f5 | grep -v "dn:" > dnis

# Estas tonter?as son para el porcentaje
total_lineas=`wc -l ./$1 | cut -d" " -f1`
lineas=1

# Variable de guarda, para saber cu?ndo copiar
copiar=si

clear

echo Empezamos, esto va a tardar un ratillo...

while [ $lineas -le $total_lineas ]
do
linea=`head -$lineas ./$1 | tail -1`
etiqueta=`echo $linea | tr '<' '>' | cut -d">" -f2`

tpc=`expr $lineas \* 100 / $total_lineas`
echo -n "Procesando l?nea $lineas...$tpc% completado..."
echo -ne "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b"
lineas=`expr $lineas + 1`

if [ "$etiqueta" = "dni" ]; then
valor_dni=`echo $linea | tr '<' '>' | cut -d">" -f3`
if [ "`grep -c "$valor_dni" dnis`" != "0" ]; then
copiar=no
else
copiar=si
echo "<profesor>" >> Profes_Nuevos.xml
fi
fi

if [ "$copiar" = "si" -a "$etiqueta" != "profesor" ]; then
echo "$linea" >> Profes_Nuevos.xml
fi

if [ "$copiar" = "no" -a "$etiqueta" = "/profesor" ]; then
copiar=si
fi

done

rm -f dnis

echo
echo Exportacion generada : Profes_Nuevos.xml
echo Contiene `grep -c "<profesor>" Profes_Nuevos.xml` nuevos profes para incluir.

(8-8/14)