Intereting Posts
Почему xinit делает мой физический дисплей пустым? Как распечатать текст, используя любой из 256 цветов, который позволяет терминал? Содержание Объяснение: / proc / fs / ext4 / имя_устройства / mb_groups Может «найти» команду сохранить время доступа Восстановление sendmail на сервере приложений FreeBSD после добавления нового контроллера домена activedirectory в сеть запуск цикла for в сценарии оболочки Почему NetworkManager пытается контролировать скрипт интерфейса, который не существует? не удалось войти через tty {1-6} в качестве обычного пользователя Регулярное выражение для пароля. Ограничение специальных символов / dev / sda2 отправлено 49710 дней без проверки, проверьте принудительный Интерфейс «iwlist» -> не поддерживает сканирование (Ubuntu LTS 10.04) Как установить драйвер IBM Database Database на Ubuntu для Node.js Как сделать файлы внутри TMPFS более вероятными для обмена Почему клиент gdb не может разговаривать со своим gdb-сервером при запуске этого сценария «ожидать»? Как работают несколько блоков в AWK?

Base64 декодирует и перезаписывает файл

У меня есть файл, который содержит данные с кодировкой изображения base64: ~ / dog / 1.jpg

Я положил его туда через SSH, а база 64 закодировала данные, поэтому было бы безопасно передавать в терминал. Предположим, что данные изображения base64 не повреждены.

Теперь, когда у меня есть данные изображения, переданные на другой сервер, мне нужно декодировать содержимое файла, а затем перезаписать закодированный файл декодированным файлом.

И я не могу использовать команду base64, поскольку она недоступна на удаленном сервере.

Как я могу base64 расшифровать содержимое файла, а затем перезаписать содержимое кодированного файла с расшифрованным содержимым, предпочтительно используя perl?

Это то, что у меня есть сейчас …

# Decode image data poo=$(cat ~/dog/1.jpg | perl -MMIME::Base64 -ne 'printf "%s\n",decode_base64($_)'); # Write decoded data to file echo $poo >| ~/dog/1.jpg 

Это перезаписывает файл, но неправильно декодирует изображение.

 perl -MMIME::Base64 -i -0777ne 'print decode_base64($_)' ~/dog/1.jpg 

Не будет необходимости использовать какой-либо посредник (будь то переменный или временный файл) и сохраняет декодированный файл обратно в исходный файл jpeg.