elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
29 Mayo 2012, 05:19  


Tema destacado: Sigue las noticias más importantes de elhacker.net en ttwitter!

+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting (Moderadores: Novlucker, Leo Gutiérrez., EleKtro H@cker)
| | |-+  script con ficheros
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: script con ficheros  (Leído 281 veces)
andaluz

Desconectado Desconectado

Mensajes: 266



Ver Perfil
script con ficheros
« en: 1 Noviembre 2011, 11:26 »

Hola a todos, tengo un problemilla con este script, tengo que realizar una quiniela, los problemas que na da son los siguientes:
      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,


En línea
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines