我有一个包含base64编码图像数据的文件:〜/ dog / 1.jpg
我通过SSH将其放到那里,并且base 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文件中。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句