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: | 0 han comentado esto | 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: 54.161.31.247 (50ede995f3)
Comentario
¿Cuánto es: diez mil + uno?

Busca en Cambalache


Blogalia


Categorías:

Archivos:

<Junio 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