Script que lea ficheros

Buenas a todos,

Necesito hacer un script que cumpla las siguientes características:

- Tiene que leer un fichero con una lista de nombres.
- Debe almacenar esos nombres en variables para luego pasarlos como argumentos a un programa.
- Debe poder saber dónde está el final del fichero, por ejemplo al encontrarse con asteriscos.

Es para una máquina SunOS 5.9.

Estoy muy verde, así que cualquier ayuda será bienvenida.

¡Gracias!

PD: No estoy muy seguro de que este sea el sub-foro adecuado, perdón si está mal.
¿Algún tipo de práctica?

Es dificil ayudarte si no nos demuestras que realmente lo has intentado.

- ferdy
Es una historia para el trabajo. Una chorrada sin importancia, pero que me gustaría hacer.

No te puedo demostrar que lo he intentado, porque no se por donde empezar... [tomaaa]

Se hacer scripts con un if que muestre el mismo mensaje cien veces, por ejemplo, pero poco mas. No se por ejemplo como hacer (con qué comando) que un script lea un fichero desde la posición 'x' a la posición 'y'.

Creo que con conocer ese comando podría ir tirando.
Puedes mirar con 'sed' o con 'read'.

- ferdy
Voy a probar, ya contaré. Gracias.

Edito:

¡¡¡CONSEGUIDO!!! [ok]

Lo dejo por si le sirve a alguien:

#!/bin/ksh/

clear

# --------------------------------------------------------------------------------
# fichero_origen contiene una serie de campos, pero sólo me
# interesa trabajar con la primera columna, así que en la siguiente
# línea hago un filtrado, grabando en el fichero "filtrado" la primera
# columna de fichero_origen
# --------------------------------------------------------------------------------

awk '{print $1}' fichero_origen > filtrado

# --------------------------------------------------------------------------------
# Ahora lanzo este for diciéndole que ejecute su contenido cada vez
# que encuentre un registro que empiece por 0, que son los
# únicos que quiero tratar. Además de eso, va a dejar los registros
# que vaya a tratar en la variable "variable", porque tienen que ser
# pasados como parámetro a un programa externo.
# --------------------------------------------------------------------------------

for variable in `grep 0 filtrado`

do

programa $variable

done


La verdad es que ha sido muy entretenido. Nunca había programado scripts en Unix, y he aprendido un montón a base de leer manuales.
4 respuestas