También puedes intentar usar
echo -n
para suprimir nuevas líneas y rellenar la longitud de entrada a un múltiplo de 4 con uno a tres caracteres iguales
=
Esa versión no decodificará (por defecto) líneas con separadores, pero el codificador lo hace por defecto. (Las versiones más nuevas no tienen este problema).
Una solución:
base64 -w 0 foo.zip | base64 -d > foo2.zip
Alternativo:
base64 foo.zip | base64 -di > foo2.zip
El -i
opción significa (del man
página):
-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 incluso más simplemente
base64 -di foo.zip > foo2.zip
Si está haciendo esto en una Mac, su versión de base64
podría no tener la flexibilidad para manejar ignorar la basura. Si preparas, instala coreutils
, tendrás el gbase64
utilidad y utilícelo como lo ha descrito Joe.