Remove all files but one with rm
Is there any way to remove all of the files in a directory except for one with a certain filename? For instance, if I had a directory containing the files file1
, file2
, and dontdelete
. Would there be any way to quickly delete file1
, and file2
and not dontdelete
? I know that I could just do rm file1 file2
but that wouldn't work for a bunch of files. Also, I'm on Mac OS X if that makes a difference.
In bash:
shopt -s extglob
rm !(dontdelete)