Possible Duplicate:
Remove all files but one with rm
In unix, to remove zip files in a directory one can simply type
rm *.zip
How can one remove everything except zip files?
Possible Duplicate:
Remove all files but one with rm
In unix, to remove zip files in a directory one can simply type
rm *.zip
How can one remove everything except zip files?
rm !(*.zip)
This appears to work. The ! represents "not".
extglob needs to be enabled in the shell behavior settings for this to work. It is probably already enabled... but if not, enable it with:
shopt -s extglob
And after answering this... indeed Ignacio Vazquez-Abrams you are correct. It is pretty much duplicate.
extglob
! I was able to run this command in the normal interactive prompt without a hitch, but then when trying something like echo !(*.zip)
in a script, I would always get a syntax error. Adding that option fixed it!
May 4, 2014 at 13:57
Try creating a list then removing the file from the list.
Ex.
ls $yourDir | grep -v .zip > deleteThis.list
the call
xargs rm < deleteThis.list
rm $(ls | grep -v *.zip)
? :)