John, being the efficient administrator he was, decided to use the Linux command line to tackle this task. He navigated to the parent directory containing all the subfolders and zip files.
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:
tree The output showed a complex directory structure with many subfolders, each containing multiple zip files. unzip all files in subfolders linux
find . -type f -name "*.zip" -exec unzip {} -d {}_unzip \; This command recursively found all zip files and unzipped them into their respective subfolders. Let me know if you need any further assistance.
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. John, being the efficient administrator he was, decided
After some more research, John discovered the perfect one-liner:
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. -type f -name "*
Best regards, John