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
  • 相关阅读:
    Google和百度、雅虎的站内搜索代码
    Unidac:解决“trying to modify readonly Field”问题!
    如何通过BDE连接一个非1433端口的SQL SERVER
    工作总结
    iOS开发肯定会遇到的
    自定义delegate和系统定义dalegate的区别
    C语言中关于字符串左右循环移位的问题
    iphone 文件保存策略
    iphone学习各种资源
    IOS开发系列之阿堂教程:tableView的下拉涮新功能实践
  • 原文地址:https://www.cnblogs.com/liujiaxin2018/p/14929186.html
Copyright © 2011-2022 走看看