Necesito convertir archivos binarios en formato de texto. Hace años, usé uuencode/uudecode y fue fácil:
uuencode file.xls > file.txt
# Delete file.xls
# Do whatever with file.txt
# Now I need file.xls back
uudecode file.txt > file.xls
Pero uuencode/uudecode no está en mi sistema, y mientras miro a mi alrededor, el proceso yum/rpm es feo; esto me da la pista de que tal vez ya nadie lo usa y en su lugar hay algo más moderno para hacer esto.
Miré xxd y hexdump pero no pude lograr que lo hicieran. Podrían ser simplemente problemas tontos del usuario.
¿Qué puedo usar en Linux para hacer esto? Me gustaría que fuera algo que tiende a estar en la instalación nativa, por lo que no necesito yum/rpm si es posible.
Sólo para su propia comprensión, lo que estoy tratando de hacer específicamente ahora es controlar el código fuente de un archivo *.xls, pero la herramienta corporativa no permite la entrada de *.xls. Normalmente respeto esa restricción, pero en mi contexto, un archivo *. xls es una tabla de configuración para mi código, por lo que eslógicamentecomo el código fuente, pero el activador SVN corporativo es físico; si es *.xls, se rechaza, así que lo codificaré y controlaré el código fuente del archivo *.txt.
¡Gracias!
Respuesta1
Entiendo:
xxd -p excel.xlsx > excel.xxdp
xxd -p -r excel.xxdp > recover.xlsx
diff excel.xlsx recover.xlsx
Respuesta2
Respuesta3
Hay un programa Python que puedes usar para esto.
$ python hexdump.py abc.tar > abc.ascii
$ python hexdump.py -r abc.ascii > def.tar
$ md5sum abc.tar def.tar abc.ascii
e4733a492d5ae78d9e163a9ec808b6ae abc.tar
e4733a492d5ae78d9e163a9ec808b6ae def.tar
b56a0ed4d794c0cf6084ddb9e7c862f8 abc.ascii
$ ls -pla abc*
-rw-r--r--. 1 60001 60001 61514 Mar 13 16:08 abc.ascii
-rw-r--r--. 1 60001 60001 12775 Mar 13 15:33 abc.tar