Современные команды Linux, которые параллельны функциональности uuencode/uudecode

Мне нужно получить двоичные файлы в текстовом формате. Несколько лет назад я использовал uuencode/uudecode, и это было легко:

uuencode file.xls > file.txt
# Delete file.xls
# Do whatever with file.txt
# Now I need file.xls back
uudecode file.txt > file.xls

Но uuencode / uudecode нет в моей системе, и когда я осматриваюсь, процесс yum/rpm выглядит ужасно - это дает мне понять, что, возможно, никто больше его не использует, и вместо этого есть что-то более современное, чтобы сделать это.

Я посмотрел на xxd и hexdump, но не смог заставить их это сделать. Могут быть просто глупые пользовательские проблемы.

Что я могу использовать в Linux для этого? Хотелось бы, чтобы это было что-то, что обычно находится в нативной установке, поэтому мне не нужно yum/rpm, если это возможно.

Просто для вашего собственного понимания, то, что я специально пытаюсь сделать сейчас, это контроль версий файла *.xls, но корпоративный инструмент не допускает *.xls. Я обычно соблюдаю это ограничение, но в моем контексте, *. xls - это таблица конфигурации для моего кода, поэтому она логически похожа на исходный код, но корпоративный триггер SVN является физическим - если он *.xls, он отклоняется, поэтому я буду кодировать его и контролировать исходный код файла *.txt.

Спасибо!

2 ответа

Понял:

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

Те (uuencode/uudecode) обычно упаковываются как часть sharutils (см. также его номинальный веб-сайт).

Этот вопрос был задан ранее:

Для этого можно использовать программу Python.

$ 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
Другие вопросы по тегам