I have a directory full of zip files. Each called something like 'files1.zip'. My instinct is to use a bash for loop to unzip each file.
Trouble is, many of the files will unzip their contents straight into the parent directory, rather then unfolding everything into their own unique directory. So, I get file soup.
I'd like to ensure that 'files1.zip' pours all of it's files into a dir called 'files1', and so on.
As an added complication, some of the filenames have spaces.
How can I do this?
Thanks.
for f in *.zip; do
dir=${f%.zip}
unzip -d "./$dir" "./$f"
done
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With