linux 删除指定文件夹外的其他所有(文件)文件夹

这篇具有很好参考价值的文章主要介绍了linux 删除指定文件夹外的其他所有(文件)文件夹。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

方法一. 删除指定文件夹外的其他所有文件夹命令:

ls |grep -v dir | xargs rm -rf 

方法二. 删除指定文件夹外的其他所有文件夹命令:

查看当前文件夹下有哪些文件和子文件夹,当看到俩个文件夹和多个文件,需求是只保留 public 这个文件夹 其他的文件夹和文件 统统都删除,如下图所示,只要一个命令:

ls | grep -v  public | awk  '{system("rm -rf "$1)}' 

如果只保留common 这个文件夹 需要命令 改为:

ls | grep -v  common  | awk  '{system("rm -rf "$1)}' 

linux 删除指定文件夹外的其他所有(文件)文件夹

三. 其他方法(没有验证)

1、方法1,比较麻烦的做法是:

复制需要保留的文件到其他文件夹,然后将该目录删除, 然后将需要保留的移动 回来。

mv keep ../ #保留文件(夹) keep
rm -rf * #删除当前文件夹里的所有文件
mv ../keep ./ #将原来的东西移动回来
2、方法2,需要在当前文件夹中进行:
rm -rf !(keep) #删除keep文件之外的所有文件
rm -rf !(keep1 | keep2) #删除keep1和keep2文件之外的所有文件
3、方法3,当前文件夹中结合使用grep和xargs来处理文件名:
ls | grep -v keep | xargs rm #删除keep文件之外的所有文件

说明: ls先得到当前的所有文件和文件夹的名字, grep -v keep,进行grep正则匹配查找keep,-v参数决定了结果为匹配之外的结果,也就是的到了keep之外的所有文件名,然后 xargs用于从 标准输入获得参数 并且传递给后面的命令,这里使用的命令是 rm,然后由rm删除前面选择的文件。
好处:使用了grep来正则表达式来匹配文件名字,可以一次保留多个文件,从而进行更加准确的处理。

4、方法4,使用find命令代替ls,改进方法3从而能够处理制定文件夹的文件:
find ./test/ | grep -v keep | xargs rm #删除当前test文件夹中keep文件之外的所有文件

说明,用grep而不用find -name选取名字,因为find选取名字时比较麻烦,对正则表达式支持不够,无法排除指定文件名。

5、方法5,直接使用find命令删除其他文件:
find ./ -name '[^k][^e][^e][^p]*'  -exec rm -rf {} \; #删除keep以外的其他文件。
find ./ -name '[^k][^e][^e][^p]*'  | xargs rm -rf  #删除keep以外的其他文件。推荐!

说明:上面第二行的代码效率高些,原因在于删除多个文件时 -exec会启动多个进程来处理,而xargs会启动一个rm进程来处理。文章来源地址https://www.toymoban.com/news/detail-483653.html

四. 参考链接:

  1. linux 删除指定文件夹外的其他所有文件夹
  2. Linux之不删除指定文件夹,其他都删(文件和文件夹)

到了这里,关于linux 删除指定文件夹外的其他所有(文件)文件夹的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Win10 C盘清理的技巧,将C盘中除Windows外的所有系统文件夹移到C盘之外,节约大部分C盘空间

    使用以下办法可以将c盘的Program Data、Users文件夹以及Appdata目录移到d盘,实现系统盘隔离,缓存文件不再占用c盘空间,释放C盘大量空间,爆杀一切“C盘清理技巧”,从根本上解决C盘空间占用问题! 此方法需要重装系统,重新安装所有软件,毕竟所有软件的注册表,缓存都需

    2024年02月04日
    浏览(52)
  • 用脚本定时删除文件夹内所有文件

            一个朋友打电话过来,说工作不太如意,自己做的工作成果被老板过河拆桥,想离职又不甘心被白那啥,问我能不能做一个批处理文件,到自己离开一个月以后,自动清除自己的文档,于是开始做了:         文件做好了,保存成 .ansi 格式,后缀为.bat 的批处

    2024年02月07日
    浏览(62)
  • C#怎么删除指定文件或文件夹

    本文主要介绍了C#如何删除指定文件或文件夹,具有很好的参考价值,希望对大家有所帮助。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 public static string deleteOneFile( string fileFullPath)          {              // 1、首先判断文件或者文件路径是否存在              i

    2024年02月13日
    浏览(48)
  • [python]裁剪文件夹中所有pdf文档并按名称保存到指定的文件夹

    最近在写论文的实验部分,由于latex需要pdf格式的文档,审稿专家需要对pdf图片进行裁剪放大,以保证图片质量。 原图: 裁剪后的图像: 代码粘贴如下。将input_folder和output_folder替换即可。(x1, y1), (x2, y2) 分别代表裁剪框的像素位置。

    2024年01月19日
    浏览(64)
  • Python小技巧【1】——获取指定文件夹下的所有文件【glob模块】

    glob模块 是Python标准库中一个重要的模块,主要用来 查找符合特定规则的目录和文件,并将搜索的到的结果返回到一个列表中。  1、常用函数glob() 返回符合匹配条件的所有文件的路径。  2、重要参数recursive recursive参数 代表是否递归调用,与特殊通配符 ** 一同使用,默认为

    2024年02月04日
    浏览(65)
  • Unity Editor 遍历指定文件夹下的所有prefab

    适用场景:                  查找指定文件夹下所有的prefab并找到所有引用的图片及路径。 步骤分析:                 1、通过guid获取资源路径                 2、获取文件夹中包含后缀为.prefab的路径                 3、编辑器下加载该资源(如果对资源有编辑的话

    2024年02月04日
    浏览(67)
  • python判断文件夹是否存在,不存在则创建它,并将文件夹下所有的文件及子文件删除

    1、python判断文件夹是否存在,不存在则创建它,并将文件夹下所有的文件及子文件删除 2、python之判断文件文件夹是否存在,存在则删除,不存在则创建 2.1、删除文件于文件夹 使用os.remove删除文件夹会出现拒绝访问的错误,所以要使用以下方式进行删除 2.2、创建文件与文件

    2024年02月11日
    浏览(117)
  • 删除Github仓库中的指定的文件或文件夹

    在Github 仓库中是无法通过鼠标操作直接删除文件和文件夹的,那只能通过 git 命令来执行删除操作,当我们想删除 First 分支中的 folder 文件夹及其内部的文件  和 file.c 文件  时 1.当电脑存在对应的本地文件夹时,直接拉取远程信息,并更新至最新数据。  这时文件中的数据

    2024年02月08日
    浏览(58)
  • Linux移动文件夹(文件)到其他文件夹 / 复制到其他文件夹 【cp / mv命令】

    1)将一个文件夹复制到另一个文件夹下(一般复制一个项目的时候,直接使用这个命令) cp -r /home/packageA /home/packageB 运行命令之后packageB文件夹下就有packageA文件夹了。  2)将一个文件夹下的所有内容复制到另一个文件夹下(这种一般是复制很多小文件的时候使用) cp -r /

    2024年02月06日
    浏览(74)
  • 使用javaAPI对HDFS进行文件上传,下载,新建文件及文件夹删除,遍历所有文件

    目录 //通过工具类来操作hdfs   hdfs dfs -put d:user_info.txt  /user_info.txt  // 将文件放入到hdfs中  2.通过工具类来操作hdfs   hdfs dfs -get hdfs路径   本地路经  将文件放入到本地Windows中 3.通过工具类来操作hdfs   hdfs dfs -mkdir -p  hdfs路径 4.通过工具类来操作hdfs  查看一个文件是否存在

    2024年02月12日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包