方法一
shopt -u extglob #关闭
shopt -s extglob #打开
rm -rf !(keep*)
lm # ll -h
总用量 0
-rw-r--r-- 1 root root 0 2月 4 20:03 keep
-rw-r--r-- 1 root root 0 2月 4 20:04 keep2
drwxr-xr-x 2 root root 10 2月 4 20:04 keep3
-rw-r--r-- 1 root root 0 2月 4 20:03 noise
-rw-r--r-- 1 root root 0 2月 4 20:03 noise2
-rw-r--r-- 1 root root 0 2月 4 20:04 noise 3
drwxr-xr-x 2 root root 10 2月 4 20:05 noise4
drwxr-xr-x 2 root root 10 2月 4 20:05 noise54
drwxr-xr-x 2 root root 10 2月 4 20:05 noise5434234
lm # rm -rf !(keep*)
lm # ls
keep keep2 keep3
lm # touch real_keep
lm # touch real_keep2
lm # touch _real_keep2
lm # rm -rf !(real_keep|_real_keep2)
lm # ls
real_keep _real_keep2
方法二 利用grep -v反选
lm # ls
real_keep _real_keep2
lm # rm -rf `ls | grep -v real_keep`
lm # ll
总用量 0
-rw-r--r-- 1 root root 0 2月 4 20:06 real_keep
-rw-r--r-- 1 root root 0 2月 4 20:06 _real_keep2
lm # rm -rf `ls | grep -v ^real_keep$`
lm # ll
总用量 0
-rw-r--r-- 1 root root 0 2月 4 20:06 real_keep