%2C%20um%20die%20Erweiterung%20aus%20der%20Ausgabe%20zu%20entfernen%3F.png)
Ich verwende dieses Skript, um mehrere Dateien in einzelne Zip-Dateien zu komprimieren (über einen Automator-Dienst, also Bash).
for f in "$@"
do
zip -j "$f.zip" "$f"
done
es funktioniert perfekt, ABER die ZIP-Datei hat die Erweiterung im Namen:
zipme.jpg wird als zipme.jpg.zip ausgegeben
das Ergebnis, das ich suche, ist: zipme.zip
noch besser wäre es, wenn du die Erweiterung weglassen und den Punkt durch einen Unterstrich ersetzen könntest: zipme_jpg.zip
Viele meiner Kunden haben Probleme mit den beiden Punkten. Momentan entferne ich sie nach dem Komprimieren manuell. Kann mir jemand sagen, wie ich das Skript reparieren kann?
Antwort1
Jpegs sind bereits komprimiert, es ist nicht nötig, sie erneut mit Zip zu komprimieren. Sie können jedoch die Teilzeichenfolgenentfernung bei der Parametererweiterung verwenden, um die Erweiterung zu entfernen.
for f in "$@"
do
zip -j "${f%.*}.zip" "$f"
done
Dadurch ${f%.*}
wird die Erweiterung vom Dateinamen entfernt.