====== Examen Parcial - 75.08. Sistemas Operativos ====== **Cátedra:** Osvaldo Clua\\ **Fecha:** Primera oportunidad \\ **Día:** ??/??/????\\ **Tema:** Regular Expression Esta página está incompleta; podés ayudar completando el material. ===== Enunciado ===== Una empresa de medicina prepaga nos encarga el desarrollo de un script para que ante la llamada de un asociado, el operador telefónico le pueda informar el nombre y la dirección de los prestadores a los que se puede dirigir según la especialidad requerida, el Plan y la Zona donde se encuentre el asociado. Solo se pueden utilizar los comandos: sed, grep, vi, echo, wc. Especialidades.dat, el separador de campos es ":"\\ Código de Especialidad: Descripción : Código de Zona\\ Ejemplo\\ ASD01:Emergencias:Lanus\\ C41M:Cuerpo Médico: Capital Federal\\ 87INT:Internación:Zona Centro Bs. As.\\ CCCC:HHHHH:PPPPPPP\\ LFA843:Farmacia:Salta Prestadores.lis, el separador de campos es "+"\\ Código de Prestador + Nombre + Código de Especialidad + Planes + Dirección\\ Ejemplo\\ C001+Baywatch+EMER01+Gold, Platinium+Av. del Mar y Playa Bonita\\ C001+Emergensub+CCCC-1+0,1+Av. Teniente Gral. J. D. Perón CCCC\\ CD001+Dr. Garcia+DRALL+0,1,210,310+ Av. Remedios de Escalada de San Martín 987\\ FD00A+Farmacia Villegas+CAMPO03F+CCCC+9 de Julio 87 Parámetros de entrada: Código de Plan, Descripción de Especialidad requerida y Zona donde se encuentra Ejemplo de invocación : buscador.sh Gold Farmacia "Patagonia Sudoeste" ===== Resolución ===== #!/bin/bash PLAN="$1" ESPECIALIDAD="$2" ZONA="$3" CODIGO=`sed <"especialidades.dat" -n "s/^\([^:]*\):$ESPECIALIDAD:$ZONA/\1/p"` sed < "prestadores.lis" -n "s/^[^+]*+\([^+]*\)+$CODIGO+.*$PLAN.*+\([^+]*\)/\1 \2/p"