问题:我需要从一个充满文件和文件夹的目录中删除一些我不想删除的文件和文件夹。
第一次尝试:
rm -r !(c_50.tbl sim.sh pam.prp PROINT spy.inp s.bak sr.ccmg sr.drp s.echo s.mdl st.prob SUB.bsub ufile)
不幸的是,这个命令删除了目录内的所有内容
注意:括号中是我不想删除的文件。ufile
是一个文件夹。
答案1
括号内列出的文件之间缺少垂直线“|”(或管道符号、vbar、stick 等)。
命令应该是:
rm -r !(c_50.tbl|sim.sh|pam.prp|PROINT|spy.inp|s.bak|sr.ccmg|sr.drp|s.echo|s.mdl|st.prob|SUB.bsub|ufile)
c_50.tbl
此命令将删除当前目录中除或sim.sh
或pam.prp
等之外的所有文件和子目录。