Re: Borrar formato de colores BASH de un archivo
----- Original Message -----
From: "Manolet Gmail" <manolet@gmail.com>
To: "Lista Debian-Español" <debian-user-spanish@lists.debian.org>
Sent: Monday, July 09, 2007 7:24 AM
Subject: Borrar formato de colores BASH de un archivo
buenas buenas! tengo un archivo de log que se guarda con el siguiente formato...
Muy buenas :)
[ 2007-07-09_00:21:36 ]
[0;32m[1m [ OK ] [0m[1mConexion exitosa a cyberdja.sytes.net [0m
Archivos descargados:
[0;31m --> [0m /home/manolo/abugaber/orders-pila/detalle1.xml
[0;31m --> [0m /home/manolo/abugaber/orders-pila/orders2.xml
[0;31m --> [0m /home/manolo/abugaber/orders-pila/orders.xml
[0;32m[1m [ OK ] [0m[1mArchivos listos para subir[0m
[1m subiendo archivo [0m [0;33m[1m ----> [0m [1m novale.xml [0m
[0;32m[1m [ OK ] [0m[1mArchivo subido con exito[0m
es incomodo de leer desde un bloc de notas, existe alguna forma de
crear un script que me borre todos los codigos de colores? probe con
esto:
Lo ideal es que programa/script que guarda el log lo haga sin secuencias
de escape de color (supongo que utilizará el ls para hacerlo, y pasándole
el argumento --color=no solucionas el problema. Si no puedes hacerlo, dado
que es el propio binario el que te mete los colorines (y en caso de que
todas las secuencias de escape estén BIEN construidas), puedes probar con
el siguiente programita que acabo de improvisar:
###inicio colorines.c
#include <stdio.h>
int main() {
char c;
int out = 1;
while ((c = getchar()) != -1) {
if (c == 27) out = 0;
if ((c == 'm' || c == 'M') && !out) {
out = 1;
continue;
}
if (out) printf("%c", c);
}
return 0;
}
###fin colorines.c
luego compilas:
gcc -Wall colorines.c -o colorines
y ejecutas:
cat fichero.log | ./colorines > nuevo.log
cat fichero.log > nuevo.log
pero siguen con los codigos de colores xD. Como le hago!
espero que te ayude, un saludo ;)
---------------------------------------------
Arnau Carrasco - http://www.arnaucarrasco.com
---------------------------------------------
Reply to: