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
ファイルを上書きしますが、画像を正しくデコードできません。
ベストアンサー1
perl -MMIME::Base64 -i -0777ne 'print decode_base64($_)' ~/dog/1.jpg
仲介者(変数または一時ファイル)を使用せずに、デコードされたファイルを元のjpegファイルに保存します。