%20para%20remover%20a%20extens%C3%A3o%20da%20sa%C3%ADda%3F.png)
Eu uso esse script para compactar vários arquivos em arquivos zip individuais (por meio de um serviço de automação, então Bash)
for f in "$@"
do
zip -j "$f.zip" "$f"
done
funciona perfeitamente, MAS o arquivo zip tem a extensão no nome:
zipme.jpg sai como zipme.jpg.zip
o resultado que procuro é: zipme.zip
seria ainda melhor se você pudesse deixar a extensão e substituir o ponto final por um sublinhado: zipme_jpg.zip
Muitos dos meus clientes têm problemas com os dois períodos. No momento, eu os removo manualmente depois de fechar o zíper. Alguém pode me dizer como consertar o script?
Responder1
Os JPEGs já estão compactados, não há necessidade de compactá-los novamente com zip. Mas você pode usar a remoção de substring na expansão de parâmetros para remover a extensão.
for f in "$@"
do
zip -j "${f%.*}.zip" "$f"
done
Isso ${f%.*}
retira a extensão do nome do arquivo.