
我使用此腳本將多個檔案壓縮為單獨的 zip 檔案(透過自動化服務,例如 Bash)
for f in "$@"
do
zip -j "$f.zip" "$f"
done
它工作完美,但是,zip 檔案的名稱具有擴展名:
zipme.jpg 輸出為 zipme.jpg.zip
我追求的結果是:zipme.zip
如果您可以保留擴展名並將句點替換為下劃線,那就更好了:zipme_jpg.zip
我的許多客戶對這兩個時期都有疑問。現在,我在拉上拉鍊後用手將它們取出。誰能告訴我如何修復腳本?
答案1
Jpeg已經被壓縮了,不需要用zip再壓縮。但是您可以在參數擴充中使用子字串刪除來刪除副檔名。
for f in "$@"
do
zip -j "${f%.*}.zip" "$f"
done
刪除${f%.*}
檔案名稱的副檔名。