Foros del Web » Administración de Sistemas » Unix / Linux »

Dudas para crear un script en c-shell

Estas en el tema de Dudas para crear un script en c-shell en el foro de Unix / Linux en Foros del Web. Hola, estoy haciendo un script en c-shell y no sé como realizar uno de los pasos (soy bastante principiante en esto): Tengo un fichero llamado ...
  #1 (permalink)  
Antiguo 18/05/2012, 10:49
 
Fecha de Ingreso: marzo-2012
Mensajes: 2
Antigüedad: 12 años, 8 meses
Puntos: 0
Dudas para crear un script en c-shell

Hola, estoy haciendo un script en c-shell y no sé como realizar uno de los pasos (soy bastante principiante en esto):

Tengo un fichero llamado "datos" en el directorio "$DIR_ENTRADA" que contiene las siguientes filas de datos:
bin2012csht 2012-02-08 12:01:46 37.7400 137.7900 61 6.0 soria
bin2012csfn 2012-02-08 10:54:39 .6200 -79.4200 44 5.8 valencia
bin2012cond 2012-02-06 10:10:27 9.8500 123.1200 68 6.2 madrid
bin2012coao 2012-02-06 03:49:18 10.0500 123.3200 47 6.8 asturias
bin2012cnen 2012-02-05 16:40:41 -17.8600 167.1700 10 6.6 leon


Lo que me gustaría hacer es:
1º crear un fichero nuevo por cada fila de datos del fichero "datos"
2º que cada uno de esos ficheros se llame igual que el texto de la primera columna de la fila (ej: bin2012 )
3º que cada nuevo fichero se cree en un directorio distinto, en $DIR_SALIDA

Me imagino que para que funcionase todo lo que necesito hacer, sería algo como esto:
#!/bin/csh -f
set DIR_ENTRADA = "/home/user/ENTRADA"
set DIR_SALIDA = "/home/user/SALIDA"
#creo una variable para capturar el texto de la primera columna de cada fila:
set ID = `cat $DIR_ENTRADA/datos | awk '{ID=substr($1,1,3);print ID}'`

cat $DIR_ENTRADA/datos/bin* | sed -e '...¿¿??...' > $DIR_SALIDA/$ID

No tiene que ser muy complicado de resolver los tres pasos pero no doy con ello, ¿Alguna sugerencia por favor?

Muchas gracias de antemano!!!
  #2 (permalink)  
Antiguo 21/05/2012, 07:29
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Dudas para crear un script en c-shell

No tengo experiencia escribiendo scripts para CSH, pero quizás te de una idea este ejemplo en {BA,K,}SH

Código BASH:
Ver original
  1. while read COL1 COLS
  2. do
  3.     touch $DIR_SALIDA/$COL1
  4. done < $DIR_ENTRADA/datos

Eso cumple los tres puntos que mencionaste, pero parece que hay que guardar algo en el archivo de salida, ¿o no? me da esa impresión al ver la última línea con el CAT.


Saludos.

Etiquetas: dudas, ficheros, shell
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:37.