BandaAncha.eu

Comunidad de usuarios
de fibra, móvil y ADSL

¿Cómo puedo filtrar esto con cut?

BocaDePez
BocaDePez

Hola, buenas.

Tengo un log guardado en un fichero de texto del cual quiero filtrar de cada una de sus líneas una determinada frase. Quiero hacerlo con el comando cut, pero resulta que el texto lleva un carácter especial el cual no puedo (o no sé) escribirlo en la consola. Ese carácter en particular es con el que podría filtrar el texto que deseo, pero... Aquí dejo una captura de imagen del texto, pues, como ya he dicho, no puedo escribir el carácter:

Imagen original en https://imageshack.us/a/img221/3213/capturadepantallade2013d.png

Mi objetivo es aislar la frase "hola ke hase" para, a continuación, renombrar un archivo descargado. Con el comando sed puedo eliminar el texto sobrante "[37;1m", pero el carácter especial (ese en forma de cuadrado) no puedo filtrarlo ni con cut ni eliminarlo con sed.

He probado a usar como delimitador de cut el corchete "[", y parece que renombra los archivos como deseo, pero al efectuar la comprobación MD5 el resultado parece no coincidir con el original.

En un script en bash consigo plasmar ese carácter (con un copia y pega) y funciona el proceso deseado. Pero ese script no puedo publicarlo en páginas web, ya que no aparece el carácter de marras.

¿Hay alguna otra manera?

Muchas gracias.

BocaDePez
BocaDePez

Imagino que podrías quitarlo con sed poniendo \x1b o algo así.

🗨️ 2
BocaDePez
BocaDePez

Gracias por la respuesta, pero no funciona. Ni con 001B.

Un saludo.

🗨️ 1
BocaDePez
BocaDePez

Mil perdones, sí funciona. Me había olvidado añadir una / delante de la \ en sed.

Muchas gracias, amigo, por su ayuda.

Un cordial saludo.

BocaDePez
BocaDePez
2

Es el carácter de escape, si te fijas es el 1B en hexadecimal, que corresponde al ASCII 27 (1*16+11=27)

🗨️ 1
BocaDePez
BocaDePez

Sí, es cierto, tiene usted razón. Gracias.

Puedo introducir el carácter en un editor de texto gráfico (pulsando CONTROL+MAYÚS.+U+1+B), pero en mi terminal de Gnome, en mi navegador web (Iceweasel) y en nano (editor de texto por consola) no aparece...

Pero más arriba me han explicado cómo señalárselo al comando sed para su eliminación:

$ sed 's/\x1b//g'

Un cordial saludo.