Файл декодирования Base64 и перезаписи

Файл декодирования Base64 и перезаписи

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

Я поместил его туда через SSH, и base64 закодировал данные, чтобы их можно было безопасно передавать в терминале. Предположим, что данные изображения 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

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

решение1

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

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

Связанный контент