%20para%20eliminar%20la%20extensi%C3%B3n%20de%20la%20salida%3F.png)
Utilizo este script para comprimir varios archivos en archivos zip individuales (aunque es un servicio automatizador, por lo tanto Bash)
for f in "$@"
do
zip -j "$f.zip" "$f"
done
funciona perfectamente PERO, el archivo zip tiene la extensión en el nombre:
zipme.jpg sale como zipme.jpg.zip
el resultado que busco es: zipme.zip
Sería aún mejor si pudieras dejar la extensión y reemplazar el punto con un guión bajo: zipme_jpg.zip
Muchos de mis clientes tienen problemas con los dos períodos. Ahora los quito a mano después de cerrar la cremallera. ¿Alguien puede decirme cómo arreglar el script?
Respuesta1
Los archivos JPEG ya están comprimidos, no es necesario volver a comprimirlos con zip. Pero podrías usar la eliminación de subcadenas en la expansión de parámetros para eliminar la extensión.
for f in "$@"
do
zip -j "${f%.*}.zip" "$f"
done
Elimina ${f%.*}
la extensión del nombre del archivo.