Linux 删除文件排除xx文件 (rm反向删除)

/ Linux / 0 条评论 / 346浏览

rm删除除去指定文件的剩余所有文件 (rm 反向删除)

使用

使用 ls, grep, rm 三个命令完成本次操作. 假如需要删除 /tmp/下面的所有文件, 排除掉 ab.txt 文件

n-tech-admin@findface1:~/tmp$ ls
a  ab  abc  abcd  abc.txt  ab.txt  a.txt
n-tech-admin@findface1:~/tmp$ rm -rf `ls |grep -v "^ab.txt$"`
n-tech-admin@findface1:~/tmp$ ls
ab.txt

解析

其中 grep 的 -v 支持正则表达式, ^ 开头 $ 结尾 用于唯一匹配, -rf 后面的引号是 ` (Esc下面的按键) , 而不是单引号.
正则稍加改造就可以指定当前目录下所有包含 ab 字眼的文件或文件夹. 以此类推