Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I have a directory structure of which I wish to recursively go through the folders and copy any .jpg I find into another directory.

I think I had the wrong idea with:

cp -R photos/*.jpg /cpjpg

I am usin Ubuntu.


share|improve this question

migrated from stackoverflow.com Jan 4 '10 at 22:02

This question came from our site for professional and enthusiast programmers.

You'll get a better response on superuser.com. But you don't have to do anything - if enough people agree the question will be moved automatically. –  ChrisF Jan 4 '10 at 22:00
Do you want them all to end up in one directory (flatten) or do you want to preserve the stucture? –  gbarry Jan 4 '10 at 22:01
add comment

3 Answers

This will copy all files ending in .jpg or .jpeg (case insensitive as well) in the current directory and all its subdirectories to the directory /cpjpg.

find . -type f \( -iname "*.jpg" -o -iname "*.jpeg" \) -exec cp '{}' /cpjpg \;
share|improve this answer
add comment

This will do the same thing as above, but will preserve the directory structure.

find photos/ -type f \( -iname '*.jpg' -o -iname '*.jpeg' \) -print0 |xargs -0 tar c |(cd /cpjpg ; tar x)
share|improve this answer
add comment

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.