linux shell之删除当前文件夹不包含文件1和文件2的其他所有文件

1 问题

删除当前文件夹不包含文件1和文件2的其他所有文件,这个当前文件夹里面可以包含子文件夹,然后子文件夹里面也有文件1和文件2,但是这里的文件1和文件2也不应该被删除。


 
2 解决办法

  可以用如下shell命令都行

find . -type f -not -name "1.txt" -not -name "2.txt" -exec rm -rf {} \;

find . -type f -not -name "1.txt" -not -name "2.txt" | xargs rm -rf

find . -type f  | grep -v 1.txt | grep -v 2.txt | xargs rm -rf

上面3个命令都可以,当我们用除某些文件以外可以使用find和-not -name搭配,也可以使用find和grep -v搭配。



 作者:chen.yu
深信服三年半工作经验,目前就职游戏厂商,希望能和大家交流和学习,
微信公众号:编程入门到秃头 或扫描下面二维码
零基础入门进阶人工智能(链接)