====== 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"