
¿Cómo admito nombres de archivos con espacios en el siguiente comando?
echo "$(perl -MMIME::Base64 -e 'open F, shift; @lines=<F>; close F; print MIME::Base64::encode(join(q{}, @lines))' $filename)"
Intenté lo siguiente que no pareció funcionar:
echo ... \"$filename\")
echo '$(... "open..." "$filename")'
echo $(...'open ... "$filename")
Respuesta1
echo "$(perl -MMIME::Base64 -0777 -pe '$_=MIME::Base64::encode$_' < "$filename")"
Supongo echo
que es un ejemplo aquí. Si no, esto:
perl -MMIME::Base64 -0777 -pe '$_=MIME::Base64::encode$_' < "$filename"
sería equivalente.
Tenga en cuenta que algunos sistemas tienen un base64
comando:
base64 < "$filename"
O si openssl
está instalado:
openssl base64 < "$filename"