Unzipping lots of files in subdirectories to the current directory

By on

Have you ever had a bunch of subdirectories each filled with only one zip file? Or have you ever had a task that needed to be done in the same way?

Well here's a handy little line of code that will help you on your way!

find -name '*.zip' | xargs -n1 echo unzip

This doesn't actually do anything yet, it searches for .zip files in every subdirectory relative to the one you're currently in and then echoes what it'll do to those files once you remove the echo command So actually typing:

find -name '*.zip' | xargs -n1 unzip

Will perform the command. Another example, if you want to copy lots of files from the subdirectory of one map to another, you can do this:

find /home/user/map/ -name "*.txt" | xargs -i cp -v {} .

This will copy every .txt file under any directory, starting from /home/user/map/, to your current directory. (No matter where you are)

I love it, and it has saved me lots of time!


Jelle De Loecker