Enunciado del Script:
Crear un script que permita generar una factura por pantalla. para ello, se debera pedir en primer lugar, nombre y dni del usuario, y a continuacion cuantos articulos se van a comprar. a partir de ahi, existe un fichero en la misma carpeta del scipt, llamado productos.txt, donde estan los codigos, los nombres y el precio de cada producto. el usuario mostrara en pantalla el codigo de cada uno de los productos que desea comprar y la cantidad de ellos, y el script ira guardando todo esto en un fichero pra generar despues lafacura que recogera lo siguiente:
Código:
######################################################
FACTURA
######################################################
Fecha: ----------------
Cliente: --------
DNI: -----------
######################################################
Codigo####Descripcion####Cantidad####U.P.####Total####
######################################################
C.2110 producto1 3 5.30 15.90
C.2012 producto2 8 15.20 121.60
######################################################
SUBTOTAL: 137.50
IVA 18%: 24.75
###############
IMPORTE: 162.25
C.001#caja de CD's 32x 25uds, Verbatin#5.25
C.002#raton laser, logitec#4.50
C.003#pen drive 8GB, Kingston#7.10
C.004#kiingston micro SD 4GB#3.90
Ahora os pongo el codigo que he realizado y os comento la duda dentro del código:
Código
#!/bin/bash echo "" echo "LISTADO DE PRODUCTOS" echo "-------------------------------------------" cat /home/barea/unity/ejercicios_de_Scipt_en_Bash/cut/ejer57/productos.txt echo "-------------------------------------------" echo "" i=1 read -p "elige el producto $i que desees o S para salir: " prod echo "prod1: "$prod # en la variable codig quiero guardar la primera columna del fichero, pero me sale toda la columna en una linea y creo que es # por eso por lo que no me funciona lo que he realizado mas adelante de del head | tail, como lo tendria que hacer??? codig=$(cat /home/barea/unity/ejercicios_de_Scipt_en_Bash/cut/ejer57/productos.txt | cut -d "#" -f 1 | grep '^[C,c]\.[0-9]\{3\}$') echo "Codig: "$codig while [ $prod != 'S' ] do echo "i: "$i linea_cod_fich=$(head -$i /home/barea/unity/ejercicios_de_Scipt_en_Bash/cut/ejer57/productos.txt | tail -1) i=$(expr $i \+ 1) read -p "elige el producto $i que desees o S para salir: " prod echo "prod1: "$prod echo "Cod_fich: "$cod_fich echo "linea_cod_fich: "$linea_cod_fich exit while done
Espero que me puedan ayudar, saludos