David Jones
David Jones

Reputation: 10219

How to unzip to the same directory in bash

I have hundreds of directories, each containing several zip files. I would like to iterate over each directory and unzip all zip files, placing the contents of the zip files into the same directory as the zip files themselves (without creating new sub-directories). Here's the bash script I have:

#!/bin/bash
src="/path/to/directories"
for dir in `ls "$src/"`
do
unzip "$src/$dir/*"
done

This script does the unzipping, but it creates thousands of sub-directories and dumps them on my desktop! How can I get the desired behavior? I'm on Mac OSX if that makes a difference.

Upvotes: 0

Views: 3578

Answers (1)

John Kugelman
John Kugelman

Reputation: 361556

#!/bin/bash

src=/path/to/directories
for dir in "$src"/*
do
    (cd "$dir" && unzip '*')
done

Upvotes: 2

Related Questions