Ejercicio I. Procesamiento de archivo de Premios… · Sistemes Operatius I UB Juny 2020

Tema: Programación de scripts en Bash · Del examen Juny (2020)

Enunciado

Ejercicio I. Procesamiento de archivo de Premios Nobel

Se dispone de un archivo de texto denominado Datos con registros separados por comas que contienen el nombre del galardonado, el año en que obtuvo el Premio Nobel y su país de procedencia:

Gabriel Garcia Marquez, 1982, Colombia

Claude Simon, 1985, Francia

Camilo José Cela,1989, España

Octavio Paz, 1990, Mexico

Mario Vargas Llosa, 2010, Perú

Mao Yan, 2012, China

Alice Munro, 2013, Canadá

Patrick Modiano, 2014, Francia

Svetlana Aleksievich, 2015, Bielorrusia

Bob Dylan, 2016, EE UU

Kazuo Ishiguro, 2017, Japón

Olga Tokarczuk, 2018, Polonia

Peter Handke, 2019, Austria

A partir de dicho archivo, implemente los comandos o scripts de shell necesarios para resolver los siguientes apartados:

a.

Solicitar al usuario que introduzca un año por teclado y mostrar por pantalla el nombre del laureado y su país de origen con el siguiente formato:

Noble: <Nombre>

Pais: <País>

b.

Listar todos los premios Nobel cuya nacionalidad sea España.

c.

Calcular y mostrar la cantidad total de registros almacenados en el archivo Datos.

Enunciado: Ejercicio I. Procesamiento de archivo de Premios… · Sistemes Operatius I UB Juny 2020

Solución

Según los criterios oficiales de corrección

a. Solicitar al usuario que introduzca un año por teclado y mostrar por pantalla el nombre del laureado y su país de origen con el siguiente formato: Noble: <Nombre> Pais: <País>

Solución: ```bash read -p 'Ingrese el año: ' anio awk -F, -v a="anio" '\2 ~ a { gsub(/^[ \t]+|[ \t]+\/, "", \1); gsub(/^[ \t]+|[ \t]+\/,"",/, "",3); print "Noble: " 1;print"Pais:"1; print "Pais: "3 }' Datos ```

b. Listar todos los premios Nobel cuya nacionalidad sea España.

Solución: ```bash grep -i 'España' Datos ``` ```bash awk -F, '3 ~ /España/ { sub(/^[ \t]+/, "", 1); print1 }' Datos ```

c. Calcular y mostrar la cantidad total de registros almacenados en el archivo Datos.

Solución: ```bash wc -l < Datos ``` ```bash wc -l Datos ```

La explicación paso a paso, hecha con IA, es Premium. Premium

Resuélvelo aquí mismo: corrección automática, pistas y solución paso a paso.

‹ Ejercicio Parte I. Script para gestión del Impuesto Predial · 2020 · Ejercicio I · Juny 2020 ›

Más ejercicios de Programación de scripts en Bash