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

 更新时间:2014年10月22日 11:29:23   投稿:junjie  
这篇文章主要介绍了Shell中删除某些文件外所有文件的3个方法,即在删除文件时保留一些想要的,其它的则删除,需要的朋友可以参考下

我的一位同事曾经问过我这样一个问题:在 Linux 下,如何 删除目录中除某些文件之外的所有文件?当时,我告诉他可 以通过模式匹配的方法解决。但其实,除此之外,还有其他 的方法,正所谓“条条大路通罗马”。让我们来逐一看看。

假设要删除 ~/Downloads 目录中除 *.iso 和 *.zip 外的 所有文件,那么在 bash 中可以按以下方法处理:

方法1:模式匹配法

复制代码 代码如下:

shopt -s extglob # 确认开启 extglob 选项
cd ~/Downloads
rm -v !(*.iso|*.zip)
!(pattern list) 的作用是匹配除 pattern list 之外 的文件。

方法2:设置变量法

在 bash 中,GLOBIGNORE 可用来设置要忽略的模式匹配 文件,多个模式通过 : 分隔。

复制代码 代码如下:

cd ~/Downloads
export GLOBIGNORE=*.zip:*.iso
rm -v *
unset GLOBIGNORE

方法3:find 搜索法

熟悉 find 的朋友想必知道,find 的威力异常强大,因此 利用它也可解决此问题。

复制代码 代码如下:

cd ~/Downloads
find . -type f -not \( -name '*.zip' -or -name '*.iso' \) -delete

不过还是要提醒大家,rm 操作是非常危险的,切勿炫技,如果你不放心,那么可以先老老实实的逐个或分批删除,也要比事后找回方便的多。

相关文章

  • 利用Linux Find命令快速查找文件方法

    利用Linux Find命令快速查找文件方法

    这篇文章主要介绍了利用Linux Find命令快速查找文件方法,这篇文章应用最多的就是linux find命令进行快速查找定位,本文给大家介绍了find 命令基本使用方法,需要的朋友可以参考下
    2022-12-12
  • Shell中实现飞行文字效果

    Shell中实现飞行文字效果

    这篇文章主要介绍了Shell中实现飞行文字效果,比较炫的一个特效,在网页中比较常见,需要的朋友可以参考下
    2014-06-06
  • 检测网段IP使用情况的shell脚本

    检测网段IP使用情况的shell脚本

    检测网段IP使用情况的shell脚本,有需要的朋友可以参考下
    2013-02-02
  • 程序中获取linux系统启动时间方法

    程序中获取linux系统启动时间方法

    需要在应用程序获取系统的启动时间,通过sysinfo中的uptime可以计算出系统的启动时间,下面介绍一下获取方法,大家参考使用吧
    2014-01-01
  • shell批量修改主机密码的实现示例

    shell批量修改主机密码的实现示例

    由于机器数量众多,因此采用批量修改密码的方式来进行处理,本文主要介绍了shell批量修改主机密码的实现示例,具有一定的参考价值,感兴趣的可以了解一下
    2023-12-12
  • shell实现字符编码转换工具分享

    shell实现字符编码转换工具分享

    这篇文章主要介绍了shell实现的字符编码转换工具,支持UTF-8转GBK和GBK转UTF-8,需要的朋友可以参考下
    2014-03-03
  • 把mysql查询结果保存到文件的shell脚本

    把mysql查询结果保存到文件的shell脚本

    这篇文章主要介绍了把mysql查询结果保存到文件的shell脚本,使用mysql的SELECT INTO OUTFILE备份语句,需要的朋友可以参考下
    2014-03-03
  • shell编程基础知识小结

    shell编程基础知识小结

    这篇文章主要介绍了shell编程基础知识,包括文件类型、正则表达式、字符类、引号类型、变量设置、条件测试、命令执行顺序、脚本调试方面的介绍
    2013-02-02
  • Linux bc命令实现数学计算器

    Linux bc命令实现数学计算器

    这篇文章主要介绍了Linux bc命令实现数学计算器,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03
  • Linux链接命令的实例详解

    Linux链接命令的实例详解

    这篇文章主要介绍了Linux链接命令的实例详解的相关资料,希望通过本文大家能掌握Linux链接命令的使用方法,需要的朋友可以参考下
    2017-08-08

最新评论