4

I have a bunch of zip files I want to unzip in Linux into their own directory. For example:

a1.zip a2.zip b1.zip b2.zip

would be unzipped into:

a1 a2 b1 b2

respectively. Is there any easy way to do this?

4

for x in *.zip; do unzip -d "$(basename "$x" .zip)" "$x"; done

  • Or, with ghostdog74's advice: for x in *.zip; do unzip -d "${x%.zip}" "$x"; done – janmoesen Mar 17 '10 at 21:05
4

no need to use external basename

for file in *zip
do
 unzip -d "${file%.zip}" "$file"
done

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy