将指定目录(1个或多个)以外的其他目录下的文件批量删除

平常在工作中需要删除一些过期的文件,采用批量删除的方法,但是对某些特定目录下的文件又想保留,可以采用如下命令:

比如说,我们想删除当前路径下除目录1和目录2以外的其他目录下的特定文件,find ./ \( -path "./目录1" -o -path "./目录2" \) -prune -o -type f -name "*.txt" -exec rm -rf {} \;

实例如下:

1、假定当前目录下有多个目录,并且每个目录下都有.txt结尾的文件,如:test.txt

 

 2、删除test2和test3目录下的test.txt文件,而保留test0和test1目录下的文件

 

 3、查看test.txt文件

 

 结果符合预期, 一条简单的命令, Mark一下。

posted @ 2019-09-17 00:10  湖南男生  阅读(602)  评论(0)    收藏  举报