Wednesday, 17 July 2019

command line - 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.



Answer



In bash:


shopt -s extglob
rm !(dontdelete)

No comments:

Post a Comment

How can I VLOOKUP in multiple Excel documents?

I am trying to VLOOKUP reference data with around 400 seperate Excel files. Is it possible to do this in a quick way rather than doing it m...