zoukankan      html  css  js  c++  java
  • linux系统中如何删除某些文件或者某一类以外的所有文件

    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
  • 相关阅读:
    项目总结1--技术
    基于MFC的Opengl实现动画
    vs2010 MFC Opengl实现
    设计模式-状态模式
    设计模式-访问者模式
    设计模式-责任链模式
    设计模式-中介者模式
    设计模式-命令模式
    设计模式-备忘录模式
    设计模式-观察者模式
  • 原文地址:https://www.cnblogs.com/liujiaxin2018/p/14929186.html
Copyright © 2011-2022 走看看