Puoi anche provare a usare
echo -n
per sopprimere le nuove righe e riempire la lunghezza dell'input a un multiplo di 4 con da uno a tre caratteri uguali
=
Quella versione non decodificherà (per impostazione predefinita) le righe con separatori, ma il codificatore lo fa per impostazione predefinita. (Le versioni più recenti non hanno questo problema.)
Una soluzione:
base64 -w 0 foo.zip | base64 -d > foo2.zip
Alternativo:
base64 foo.zip | base64 -di > foo2.zip
Il -i
opzione sta per (dal man
pagina):
-i, --ignore-garbage
When decoding, ignore non-alphabet characters.
[...]
Decoding require compliant input by default, use --ignore-garbage to
attempt to recover from non-alphabet characters (such as newlines)
O ancora più semplicemente
base64 -di foo.zip > foo2.zip
Se lo stai facendo su un Mac, la tua versione di base64
potrebbe non avere la flessibilità per gestire l'ignorare la spazzatura. Se produci, installa coreutils
, avrai il gbase64
utility e usalo come descritto da Joe.