I want to remove all the .jpg files from my Music folder in order to save room. My Music folder contains subfolders, and I would like to know if there is a command to remove all the .jpg files from all these folders regardless of their level. Thanks for your help!
4 Answers
A quick and clean solution for the command line would be
cd <dir>
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 man find
Note that 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 jpg
or 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 jpg
and png
at the same time.
-
-
7CAUTION: This will delete images inside SUBFOLDERS as well. Google brought me here to my misfortune. Do
find . -maxdepth 1 -type f -iname \*.jpg -delete
if you want to protect the subfolders.– NimbuzJan 21, 2017 at 4:55 -
1The question states that the OP is looking for deleting all files including subfolders. Sep 24, 2018 at 9:40
-
1Do not run this in the home directory, it would go inside directories starting with . and delete things– RafOct 26, 2018 at 17:18
This should do it
sudo rm -rf -d ~/Music/*.JPG
which will remove all .JPG files within the Music folder.
-
4
-
2This is a good command when you don't want to clean subfolders, nice one. Aug 24, 2018 at 17:53
The easiest way (if you are using Ubuntu Desktop):
Go to your Music folder in Nautilus, press Ctrl+F and search for .jpg
.
& then delete it
You can also change the location and you can make your search more specific.
Updated
Be More specific after searching .jpg
Clicking on green button Select File type Picture
& then remove jpg
from search only .
dot & then reload
as shown in pic below
What it does it will search Picture file like
.jpg .png .gif
& all other file which are inPicture Format
Bash's shopt -s globstar
can be useful here for recursive globbing:
bash-4.3$ tree
.
├── 10.jpg
└── subfolder
├── 5.jpg
└── another_subfolder
└── 15.jpg
2 directories, 3 files
bash-4.3$ shopt -s globstar
bash-4.3$ rm ./**/*.jpg
bash-4.3$ tree
.
└── subfolder
└── another_subfolder