Comandos modernos do Linux que paralelam a funcionalidade uuencode/uudecode

Comandos modernos do Linux que paralelam a funcionalidade uuencode/uudecode

Preciso colocar arquivos binários em formato de texto. Anos atrás, usei uuencode/uudecode e foi 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

Mas uuencode/uudecode não está no meu sistema e, quando olho em volta, o processo yum/rpm é feio - isso me dá a pista de que talvez ninguém mais o use e, em vez disso, há algo mais moderno para fazer isso.

Eu olhei para xxd e hexdump, mas não consegui fazê-los. Podem ser apenas problemas idiotas do usuário.

O que posso usar no Linux para fazer isso? Gostaria que fosse algo que tende a estar na instalação nativa, então não preciso fazer yum/rpm, se possível.

Apenas para sua compreensão, o que estou tentando fazer especificamente agora é controlar o código-fonte de um arquivo *.xls, mas a ferramenta corporativa não permite a entrada de *.xls. Respeito essa restrição normalmente, mas no meu contexto, um *.xls. xls é uma tabela de configuração para o meu código, então élogicamentecomo o código-fonte, mas o gatilho SVN corporativo é físico - se for *.xls, ele será rejeitado, então irei codificá-lo e controlar a origem do arquivo *.txt.

Obrigado!

Responder1

Entendi:

xxd -p excel.xlsx > excel.xxdp
xxd -p -r excel.xxdp > recover.xlsx
diff excel.xlsx recover.xlsx

Responder2

Esses (uuencode/uudecode) geralmente são empacotados como parte desharutils(veja também seu valor nominallocal na rede Internet).

Esta pergunta já foi feita antes:

Responder3

Existe um programa python que você pode usar para isso.

$ 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

informação relacionada