find . -name "*.zip" -type f | while read f; do unzip "$f" -d "$f%.zip_dir"; done
If you prefer a more readable approach or want to include the command in a bash script, a for loop combined with globstar is an excellent choice. unzip all files in subfolders linux
The following methods utilize the find command, the standard utility for searching for files in a directory hierarchy. do unzip "$f" -d "$f%.zip_dir"
find . -name "*.zip" -print0 | xargs -0 -I {} sh -c 'unzip -o "{}" -d "$(dirname "{}")"' unzip all files in subfolders linux