1 删除除a外的所有文件
user@user:~/Documents/TEST.FWD$ touch a b c d
user@user:~/Documents/TEST.FWD$ rm !(a)
user@user:~/Documents/TEST.FWD$ ls
a
2 删除除 a b c以外的文件
user@user:~/Documents/TEST.FWD$ touch a b c d
user@user:~/Documents/TEST.FWD$ rm !(a|b|c)
user@user:~/Documents/TEST.FWD$ ls
a b c
注意rm括号内不能为&,否则不能满足任何条件则都删除!
3 grep+xarg方式删除-功能更强(可删除指定类型除某种类型外的文件)
user@user:~/Documents/TEST.FWD$ touch a.m b.m c.m d.m a.r b.r c.r d.r
user@user:~/Documents/TEST.FWD$ ls
a.m a.r b.m b.r c.m c.r d.m d.r
user@user:~/Documents/TEST.FWD$ ls | grep .m | grep -v a | xargs rm -f
user@user:~/Documents/TEST.FWD$ ls
a.m a.r b.r c.r d.r
ls | grep .m | grep -v a | xargs rm -f
第一个grep过滤出所有.m后缀文件
第二个反向过滤出a.m以外的同类型文件
xargs删除同类型以外名文件