A quick and clean solution for the command line would be
find . -type f -iname \*.jpg -delete
. tells to start searching in the current folder.
-type f tells find only to look for files.
-iname makes the search case insensitive.
-delete tells find to delete/remove all files found.
CAUTION! I recommend running the command without
-delete first to get a list of the files that will be removed when
-delete is included in the command. This way a small typo won't delete anything you didn't intend to.
For more information on how to use
find and what it can do see
find will not produce any output when
-delete is used.
Regarding the comment on multiple extensions
find . -type f \( -name \*jpg -o -name \*png \) -delete
( .. ) Group expression. Needs to be escaped from the shell, hence
\( .. \) in the example
-o logical or
So the above example will match any file which has either
png at the end of it's name. More extensions can be added in the same way. Just make sure to remember
-o between every
-name statement, if
-o is not specified
find will default to
-a (and) which won't work since a file can't end in both
png at the same time.