`

shell下除了某个文件其他文件全部删除

阅读更多
最简单的方法是

# shopt -s extglob      (打开extglob模式)
# rm -fr !(file1)

如果是多个要排除的,可以这样:
# rm -rf !(file1|file2)



BashShell有个extglob选项,开启之后Shell可以另外识别出5个模式匹配操作符,能使文件匹配更加方便。
开启shopt命令:shopt -s extglob
关闭shopt命令:shopt -u extglob

?(pattern-list) - 所给模式匹配0次或1次; *(pattern-list) - 所给模式匹配0次以上包括0次;+(pattern-list) - 所给模式匹配1次以上包括1次; @(pattern-list) - 所给模式仅仅匹配1次;!(pattern-list) - 不匹配括号内的所给模式。

示例
删除文件名不以jpg结尾的文件:
rm -rf !(*jpg)
删除文件名以jpg或png结尾的文件:
rm -rf *@(jpg|png)

分享到:
评论

相关推荐

    Shell 删除指定文件中含有指定字符的行

    Shell 删除指定文件中含有指定字符的行,2个参数,脚本中有注释

    Shell中删除某些文件外所有文件的3个方法

    主要介绍了Shell中删除某些文件外所有文件的3个方法,即在删除文件时保留一些想要的,其它的则删除,需要的朋友可以参考下

    shell脚本 检测指定盘符使用率是否大于80%,如果有,则删除最早的一个文件

    检测指定盘符使用率是否大于80%,如果有,则删除最早的一个文件

    shell 编程指南pdf

    2.1.7 查找比某个文件新或旧的文件 17 2.1.8 使用type选项 17 2.1.9 使用size选项 18 2.1.10 使用depth选项 18 2.1.11 使用mount选项 18 2.1.12 使用cpio选项 18 2.1.13 使用exec或ok来执行shell命令 19 2.1.14 find...

    UNIX shell 编程指南

    如何删除某个月份的文件 find的日常用法举例 find的日常用法帮助 如何批量改名 bc指令的基本用法 检查服务器的连接状况的shell find 和 exec xargs 保证shell脚本执行唯一性 用一条命令处理分别改变文件和文件夹的...

    linux/shell大作业

    7、 从passwd文件里删除某个用户记录 你可以使用UNIX/LINUX中一些比较简单的命令或命令组合来执行1、2、3、4、5的任务。对于任务6和7,你需要编写单独的Shell脚本文件(必须分别命名为add和delete)并且在你的主脚本...

    Linux常见命令与shell脚本

    1.21 chown更改某个文件/目录的所有者和属组 11 1.22 find文件查找 11 1.23 locate快速文件查找 13 1.24 whereis和which查找命令所在目录 13 1.25 grep搜索文件内容 13 1.26 tar文档管理 14 1.27 gzip/gunzip 和 ...

    Linux shell 编程

    2.1.7 查找比某个文件新或旧的文件 17 2.1.8 使用type选项 17 2.1.9 使用size选项 18 2.1.10 使用depth选项 18 2.1.11 使用mount选项 18 2.1.12 使用cpio选项 18 2.1.13 使用exec或ok来执行shell命令 19 2.1.14 find...

    shell教程-30章,下了之后会让你大吃一惊,相当好

    2.1.7 查找比某个文件新或旧的文件 17 2.1.8 使用type选项 17 2.1.9 使用size选项 18 2.1.10 使用depth选项 18 2.1.11 使用mount选项 18 2.1.12 使用cpio选项 18 2.1.13 使用exec或ok来执行shell命令 19 2.1.14 find...

    LINUX与UNIX SHELL编程指南(很全)

    2.1.7 查找比某个文件新或旧的文件 17 2.1.8 使用type选项 17 2.1.9 使用size选项 18 2.1.10 使用depth选项 18 2.1.11 使用mount选项 18 2.1.12 使用cpio选项 18 2.1.13 使用exec或ok来执行shell命令 19 2.1.14 find...

    Linux与unix shell编程指南

    2.1.7 查找比某个文件新或旧的文件 17 2.1.8 使用type选项 17 2.1.9 使用size选项 18 2.1.10 使用depth选项 18 2.1.11 使用mount选项 18 2.1.12 使用cpio选项 18 2.1.13 使用exec或ok来执行shell命令 19 2.1.14 find...

    LINUX/UNIX Shell编程大作业

    从passwd文件里删除某个用户记录  你可以使用UNIX/LINUX中一些比较简单的命令或命令组合来执行1、2、3、4、5的任务。对于任务6和7,你需要编写单独的Shell脚本文件(必须分别命名为add和delete)并且在你的主脚本...

    绝版经典《Linux与UNIX Shell编程指南》

    2.1.7 查找比某个文件新或旧的文件 17 2.1.8 使用type选项 17 2.1.9 使用size选项 18 2.1.10 使用depth选项 18 2.1.11 使用mount选项 18 2.1.12 使用cpio选项 18 2.1.13 使用exec或ok来执行shell命令 19 2.1.14 find...

    解决Centos7下crontab+shell脚本定期自动删除文件问题

    小编最近遇到这样的需求,就是rsync每次同步的数据量很多,但是需要保留的数据库bak文件,保留7天就够了,所以需要自动...这篇文章主要介绍了解决Centos7下crontab+shell脚本定期自动删除文件问题,需要的朋友可以参考下

    LINUX与UNIX SHELL编程指南 高清PDF

    2.1.7 查找比某个文件新或旧的文件 17 2.1.8 使用type选项 17 2.1.9 使用size选项 18 2.1.10 使用depth选项 18 2.1.11 使用mount选项 18 2.1.12 使用cpio选项 18 2.1.13 使用exec或ok来执行shell命令 19 2.1.14 find...

    超级巡警暴力文件删除器

    1、暴力删除正在运行中的文件 2、粉碎并删除被其他程序占用的文件 3、粉碎后的文件无法使用数据恢复工具恢复 <br>二、超级巡警暴力文件删除器主要解决如下问题: <br>1、遇到某个文件无法删除时...

    Linux与Unix Shell编程指南(PDF格式,共30章)

    2.1.7 查找比某个文件新或旧的文件 17 2.1.8 使用type选项 17 2.1.9 使用size选项 18 2.1.10 使用depth选项 18 2.1.11 使用mount选项 18 2.1.12 使用cpio选项 18 2.1.13 使用exec或ok来执行shell命令 19 2.1.14 find...

    linux与unix shell 编程(下)

    2.1.7 查找比某个文件新或旧的文件 17 2.1.8 使用type选项 17 2.1.9 使用size选项 18 2.1.10 使用depth选项 18 2.1.11 使用mount选项 18 2.1.12 使用cpio选项 18 2.1.13 使用exec或ok来执行shell命令 19 2.1.14 find...

    linux shell 编程教程

    2.1.7 查找比某个文件新或旧的文件 17 2.1.8 使用type选项 17 2.1.9 使用size选项 18 2.1.10 使用depth选项 18 2.1.11 使用mount选项 18 2.1.12 使用cpio选项 18 2.1.13 使用exec或ok来执行shell命令 19 2.1.14 find...

Global site tag (gtag.js) - Google Analytics