5
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?
5
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?
8
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.
0
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
@JohnT I know you posted that answer more than six years ago, but it helped me today. Thank you!!! – ShiningLight – 2017-08-17T20:17:50.067
3Why not just rm $(ls | grep -v *.zip)
? :) – John T – 2011-01-17T04:02:20.393
There's that too! :) – Dan M. – 2011-01-17T16:28:03.277
Thank you for adding the mention of
extglob
! I was able to run this command in the normal interactive prompt without a hitch, but then when trying something likeecho !(*.zip)
in a script, I would always get a syntax error. Adding that option fixed it! – eacousineau – 2014-05-04T13:57:52.950