Linux/Unix Shell Scripting - Una ayudita plis

 
Vista:

Una ayudita plis

Publicado por Andrew (1 intervención) el 10/11/2006 16:40:39
Hey.. necesito una ayuda para el siguiente problema.

Se necesita leer un archivo el cual tiene por ejemplo 10 lineas de caracteres.
necesito rescatar la posicion x y mandarsela a un afuncion q la cambia y necesito pegarla nuevamente de l aposicion q la saque.

a ver si me entienden. aqui tengo mi script .. el cual estoy sacando la posicion numero 7 pero necesito pegarla en la misma posicion en la linea. como lo hago para remplazar la anterior q tomé??

for i in `cat probar.hia` # archivo con las lineas de caracteres separados por coma (,).
do

VAR_USAR=`echo $i | awk 'BEGIN { FS = "," } { print $7 }'` # saco la posicion q necesito.
echo $VAR_USAR

done

pero despues necesito dejarla en l amisma posicion pero por otra cosa.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Una ayudita plis

Publicado por Tom (3 intervenciones) el 11/11/2006 10:57:56
Hay muchas formas, pero ninguna pasa por la "edición" de ficheros; es algo que no se suele hacer en Unix.

while read LINE
do

VAR_USAR=`echo $LINE | cut -d"," -f7`
VAR_PREV=`echo $LINE | cut -d"," -f1-6`
VAR_POST=`echo $LINE | cut -d"," -f8-`
NUEVO_VALOR=`expr $VAR_PREV * 2`
echo "${VAR_PREV},${NUEVO_VALOR},${VAR_POST}"

done < probar.hia >nuevo.probar.hia

Como ya imaginas, obtienes una copia modificada de tu fichero original, que permanece intacto.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar