码迷,mamicode.com
首页 > 系统相关 > 详细

linux系统中如何删除某些文件或者某一类以外的所有文件

时间:2021-06-25 16:56:49      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:txt   type   测试文件   dir   director   cto   directory   linux   size   

1、创建测试文件:

[root@centos7 test]# touch {a..f}.txt
[root@centos7 test]# ls
a.txt  b.txt  c.txt  d.txt  e.txt  f.txt

 

2、删除b.txt文件以外的所有文件

method1:

[root@centos7 test]# rm !("b.txt")
[root@centos7 test]# ls
b.txt

 

method2:

[root@centos7 test]# touch {a..f}.txt
[root@centos7 test]# ls
a.txt  b.txt  c.txt  d.txt  e.txt  f.txt
[root@centos7 test]# find ./ -not -name "b.txt" -exec rm -f {} \;
rm: cannot remove ‘./’: Is a directory
[root@centos7 test]# ls
b.txt

 

method3:

[root@centos7 test]# touch {a..f}.txt
[root@centos7 test]# ls
a.txt  b.txt  c.txt  d.txt  e.txt  f.txt
[root@centos7 test]# ls | grep -v "b.txt" | xargs rm -f
[root@centos7 test]# ls
b.txt

 

3、删除 b.txt和c.txt以外的文件

[root@centos7 test]# touch {a..f}.txt
[root@centos7 test]# ls
a.txt  b.txt  c.txt  d.txt  e.txt  f.txt
[root@centos7 test]# rm !("b.txt"|"c.txt")
[root@centos7 test]# ls
b.txt  c.txt

 

[root@centos7 test]# touch {a..f}.txt
[root@centos7 test]# ls
a.txt  b.txt  c.txt  d.txt  e.txt  f.txt
[root@centos7 test]# find ./ -type f -not -name "b.txt" -not -name "c.txt" -exec rm -f {} \;
[root@centos7 test]# ls
b.txt  c.txt

 

[root@centos7 test]# touch {a..f}.txt
[root@centos7 test]# ls
a.txt  b.txt  c.txt  d.txt  e.txt  f.txt
[root@centos7 test]# ls | grep -E -v "b.txt|c.txt" | xargs rm -f
[root@centos7 test]# ls
b.txt  c.txt

 

4、删除某一类文件之外的所有文件

删除txt文件之外的所有文件

[root@centos7 test]# touch {a..d}.txt {a..d}.csv {a..d}.png
[root@centos7 test]# ls
a.csv  a.png  a.txt  b.csv  b.png  b.txt  c.csv  c.png  c.txt  d.csv  d.png  d.txt
[root@centos7 test]# rm !(*.txt)
[root@centos7 test]# ls
a.txt  b.txt  c.txt  d.txt

 

[root@centos7 test]# touch {a..d}.txt {a..d}.csv {a..d}.png
[root@centos7 test]# ls
a.csv  a.png  a.txt  b.csv  b.png  b.txt  c.csv  c.png  c.txt  d.csv  d.png  d.txt
[root@centos7 test]# find ./ -type f ! -name "*.txt" -exec rm -f {} \;
[root@centos7 test]# ls
a.txt  b.txt  c.txt  d.txt

 

5、删除txt和csv文件以外的所有文件

[root@centos7 test]# touch {a..d}.txt {a..d}.csv {a..d}.png
[root@centos7 test]# ls
a.csv  a.png  a.txt  b.csv  b.png  b.txt  c.csv  c.png  c.txt  d.csv  d.png  d.txt
[root@centos7 test]# rm !(*.txt|*.csv)
[root@centos7 test]# ls
a.csv  a.txt  b.csv  b.txt  c.csv  c.txt  d.csv  d.txt

 

[root@centos7 test]# touch {a..d}.txt {a..d}.csv {a..d}.png
[root@centos7 test]# ls
a.csv  a.png  a.txt  b.csv  b.png  b.txt  c.csv  c.png  c.txt  d.csv  d.png  d.txt
[root@centos7 test]# find ./ -type f ! -name "*.txt" ! -name "*.csv" -exec rm -f {} \;
[root@centos7 test]# ls
a.csv  a.txt  b.csv  b.txt  c.csv  c.txt  d.csv  d.txt

 

linux系统中如何删除某些文件或者某一类以外的所有文件

标签:txt   type   测试文件   dir   director   cto   directory   linux   size   

原文地址:https://www.cnblogs.com/liujiaxin2018/p/14929186.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!