1. al comprobar que los 3 ficheros tienen la misma cantidad de elementos, comparo los 2 primeros y me sale bien, pero al meterle el tercero me salta el error, la verdad es que nose porque.
2. para sacar el nombre del equipo de cada fichero, si no me equivoco lo tendría que realizar con $(head -x | tail -1) pero no consigo realizarlo.
Aqui dejo el codigo que tengo confeccionado, haber si me pueden ayudar.
el enunciado se los he dejado comentado al principio de scirpt, tambien le he comentado algunas lineas para que me ayuden en la depuracion del script.
Código
# Crear un script que dados 3 ficheros: Equipos.txt, Resultados.txt, # Equipos2.txt, permita generar el fichero Quiniela.txt que contiene las # lineas de la quiniela formada por los equipos que estan en el fichero # Equipos1.txt, el resultado del fichero Resultados.txt y los equipos de # Equipos2.txt. El script debera comprobar que dichos fichreros tienen el # mismo numero de elementos para que la quiniela se pueda generare # correctamene. #!/bin/bash # generamos el fichero quiniela.txt echo '' >> ./quiniela.txt # comprobar que los 3 ficheros tienen el mismo numero de lineas eq1=$(cat ./equipos1.txt | wc -l ./equipos1.txt | cut -d " " -f 1) eq2=$(cat ./equipos2.txt | wc -l ./equipos2.txt | cut -d " " -f 1) result=$(cat ./resultados.txt | wc -l ./resultados.txt | cut -d " " -f 1) echo '' echo 'Equipos1: '$eq1 echo 'Equipos2: '$eq2 echo 'Resultados: '$result echo '' cont=0 if $(test $eq1 -eq $eq2) && $(test $eq2 -eq $result) then echo 'Empezamos a confeccionar la quiniela...' for i in $(cat ./equipos1.txt) do echo 'equipo1: '$(head $i ./equipos1.txt | tail -1) #$eq2=$(head $i ./equipos2.txt | tail -1) #$result=$(head $i ./resultados.txt | tail -1) # introducimos la linea en el fichero quiniela.txt #echo '1. '$(head $i ./equipos1.txt | tail -1)' - '$(head $i ./equipos2.txt | tail -1)' '$(head $i ./resultados.txt | tail -1) # echo '1. ' $(head $1 ./equipos1.txt | tail -1)' - '$(head $j ./equipos2.txt | tail -1)' - '$(head $k ./resultados.txt | tail -1) #cont=$(expr $cont \+ 1) done else echo 'Los ficheros no tienen los mismos elementos.' fi
Saludos,