Cambalache 3,14 - La vidriera irrespetuosa


Que el mundo fue y será una porquería, ya lo sé.

Caracteres de escape dentro de variables en script bash

Estoy trabajando con ficheros de grafos en formato graph6. quiero leer un fichero y hacer determinadas operaciones con los grafos. El problema es que el formato graph6 admite como carácter válido la barra inclinada \ y bash lo interpreta como un carácter de escape. Entonces, no me vale el método clásico de lectura, que sería algo así:
while IFS='' read -r LINEA
do
var=`echo "$LINEA"`
echo "$var" > temp
COSAS QUE HAGO CON EL FICHERO TEMP
rm temp*
done < $FILE

Después de darle muchas vueltas, la solución que he encontrado es usar esa herramienta tan poco utilizada, execpto por los unixeros más frikis: awk.

La solución es la siguiente:
NUM=$(sed -n '$=' $FILE)
let NUM2=1

while [ $NUM2 -le $NUM ];
do
awk 'NR=='$NUM2'' $FILE > temp
COSAS QUE HAGO CON EL FICHERO TEMP
rm temp*
let NUM2=$NUM2+1
done

y aquí la dejo por si alguien tiene el mismo problema que yo. Y también para cuando vuelva a tener el mismo problema, dentro de unos años y no me acuerde de la solución.

2017-06-27 16:18 | Categoría: | Enlace permanente | Etiquetas: | Y dicen por ahí

Referencias (TrackBacks)

URL de trackback de esta historia http://zifra.blogalia.com//trackbacks/76999

Comentarios

Nombre
Correo-e
URL
Dirección IP: 34.204.175.38 (aff5e1a445)
Comentario
¿Cuánto es: diez mil + uno?

Busca en Cambalache


Blogalia


Categorías:

Archivos:

<Septiembre 2019
Lu Ma Mi Ju Vi Sa Do
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30            

Lista de Enlaces

De interés

E-góticos

Mis otros

FotoFlickr


Blogalia



Versión para la columna lateral


zifra. Get yours at bighugelabs.com/flickr
2003-2006 Zifra Powered by Blogalia