Revivo este hilo preguntando por lo mismo, quitar último (o últimos, por lo que veo) carácter de un binario que desde
vim -b lo veo como
^M y mirando el mismo binario en hexadecimal se trata de 2 bytes, como ha dicho explorer más arriba, un salto de línea y un espacio vacío pareciera. El orden es 0x
0d seguido de un 0x
0a. y si los imprimo desde la terminal.
Using perl Syntax Highlighting
print chr(0x0d)
# veo un blanco (no hay espacios)
Coloreado en 0.001 segundos, usando
GeSHi 1.0.8.4
Using perl Syntax Highlighting
print chr(0x0a)
# y aquí veo un salto de línea
Coloreado en 0.001 segundos, usando
GeSHi 1.0.8.4
El punto es que estoy corriendo la siguiente línea que aquí del amigo explorer, que me la ha enseñado
Using perl Syntax Highlighting
perl -CO -pE 'use utf8; tr/\0x0a//;' archivobinario.txt > archivoresultante.txt
Coloreado en 0.001 segundos, usando
GeSHi 1.0.8.4
y hecho esto, VUELVO a abrir el archivo con
vim -b y sigo topándome con el
^M También con
Using perl Syntax Highlighting
perl -CO -pE 'use utf8; tr/\0x0d//;' archivobinario.txt > archivoresultante.txt
Coloreado en 0.001 segundos, usando
GeSHi 1.0.8.4
o con las
regexp que a continuación cito:
$linea =~ s/\000\r\n$//;$linea =~ s/\000\n$//;
EDITOHe conseguido quitándole con la
regexps/\n//g pero es que al abrirlo nuevamente con
vim -b sigo viendo el maldito
^M 
, aunque ésta vez TODO el texto está en una sola línea y vim abajo me dice "
[no hay fin de línea]"
Luego le hago un hexdump a éste binario y veo que sigue allí el 0x0d, intento sacarlo con
tr/\x0d// pero no hay caso, vuelvo a abrir
vim -b archivo y sigue allí. Evidentemente me resta sacar éste para quitar el ^M ¿¿cierto??
