Base64のデコードとファイルの上書き

Base64のデコードとファイルの上書き

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ファイルに保存します。

おすすめ記事