Linux - Unzip All Files In Subfolders

John knew that he could use the unzip command to unzip files, but he needed to find a way to do it recursively for all subfolders. He remembered the -r option, which allows unzip to recurse into subdirectories.

It was a typical Monday morning for John, a system administrator at a large organization. He received an email from his colleague, Alex, asking for help with a task. Alex had a directory with many subfolders, each containing multiple zip files. The task was to unzip all these files and make them easily accessible.

After some more research, John discovered the perfect one-liner: unzip all files in subfolders linux

find . -type f -name "*.zip" This command found all files with the .zip extension in the current directory and its subdirectories. John then piped the output to xargs , which would execute unzip for each file found:

cd /path/to/parent/directory First, he wanted to see the structure of the directory and understand how many subfolders and zip files he was dealing with. John knew that he could use the unzip

find . -type f -name "*.zip" -exec unzip {} -d {}_unzip \; This command used find to locate all zip files, and for each file found, it executed unzip with the -d option to unzip the file into a new subfolder named after the original zip file, with _unzip appended to it.

find . -type f -name "*.zip" -print | xargs -I {} unzip {} But wait, there's a better way! John recalled that unzip has a -d option to specify the output directory. He wanted to unzip all files into their respective subfolders, without mixing files from different subfolders. He received an email from his colleague, Alex,

Subject: Unzipping success!