rm -rf !(1.txt|upload|2.txt)
有时会报错 -bash: !: event not found
原因是,系统没有开启通配符功能
执行命令开启通配符功能 shopt -s extglob
查看通配符功能是否开启 shopt -s
关闭extglob模式 shopt -u extglob
方式二
find * | grep -v 1.txt | xargs rmfind * | grep -v '\(1.txt\|2.txt\upload)' | xargs rm -rf
这里要特别留意,括号()跟括号内的竖线|需要添加\进行转义,否则会报错。