%EB%A5%BC%20%EC%96%B4%EB%96%BB%EA%B2%8C%20%EB%B3%80%EA%B2%BD%ED%95%A9%EB%8B%88%EA%B9%8C%3F.png)
이 스크립트를 사용하여 여러 파일을 개별 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%.*}
파일 이름에서 확장자를 제거합니다 .