现在我使用rm -r / blaa / *删除blaa目录中的所有文件夹和文件.我正在寻找的是一种删除blaa目录中的所有文件夹和文件的方法,除非文件夹名为abc.

有任何想法吗?

解决方法:

这有很多方法;但我相信最好的方法就是使用“查找”工具.

find ! -iname "abc" -exec rm -rf {} \;

我们可以轻松找到并删除未命名为“abc”的每个文件和文件夹.

find - to find files

! -iname - to filter files/folders, the "!" means not

-exec - to execute a command on every file

rm -rf - remove/delete files -r for folders as well and -f for force

"{} \;" - allows the commands to be used on every file

在Android中:

由于您不能使用“rm -rf”,当您使用“rm -r”时,它将删除文件夹“.”.最终删除所有内容.

我猜你手机上有“root”,因为你可以使用“查找”工具.

find ! -iname "abc" | sed 1d | xargs rm -r

find - to find files

! -iname - to filter files/folders, the "!" means not

| - pipe sends data to next command

sed - replace text/output

"1d" - removes first line when you do "find ! -iname" by itself

xargs - runs commands after pipe

rm -r - remove/delete files, "-r" for recursive for folders

编辑:在Android中修复和测试

您可以轻松更改此设置以满足您的需求,如果有帮助,请告诉我们!

采用的解决方案

……以及最后的结果……这是用于用例的内容(有助于总结下面的评论):

find ! -iname "abc" -maxdepth 1 -depth -print0 | sed '$d' | xargs -0 rm -r;

笔记:

> -depth – 反转输出(所以你不要先删除子目录

> -maxdepth 1 – 使用-depth的一种空洞,但是嘿…这只说当前目录的输出内容而不是sub-dirs(无论如何都被-r选项删除)

> -print0和-0 – 在换行符而不是空格分割(对于名称中带空格的目录)

> sed“$d” – 表示要删除最后一行(因为它现在已经反转).最后一行只是一段时间,其中包括将调用删除目录中的所有内容(和子!)

我相信有人可以收紧这个,但它有效,并且是一个很好的学习操作!

再次感谢Jared Burrows(以及整个Unix社区 – 去团队!) – MindWire

标签:android,sh

来源: https://codeday.me/bug/20190729/1573810.html

android删除目录,Android shell脚本删除目录以外的所有文件和文件夹相关推荐

  1. Android 开机启动shell脚本

    接到一个集成功能的需求,然后看了一下是由上层应用 + linux进程实现的功能,需要增加开机自动启动linux进程,没弄过有点懵. 这个不怎么正确,仅供参考,在权限那块需要更改,放到system下 环 ...

  2. Linux环境Shell脚本上传下载阿里云OSS文件

    为什么80%的码农都做不了架构师?>>>    Linux环境Shell脚本上传下载阿里云OSS文件 背景 工作中由于我们项目生成的日志文件比较重要,而本地磁盘空间有限存储不了多久, ...

  3. 【Linux】32. shell脚本 定时删除 过时 的某类文件

    1.功能:删除该path目录下的超过设定时间的文件夹以及这些文件夹中的文件 注意:只会删除path目录下的目录,不会删除path下的文件. path=/home/user/dir # 下面的date若 ...

  4. Android自动化测试之Shell脚本一——模拟触屏事件

    摘自:http://guolin.guosfamily.com/2012/02/15/android-automated-test-by-shell-touch-event/ Android自动化测试 ...

  5. android编译 预装apk,Android系统使用Shell脚本预装apk

    客户需求:需要在Android系统预安装一个或者若干个apk,客户可以选择自行卸载并且卸载后系统再次启动并不会再次自动安装. 考虑到需要批量安装应用,我这里考虑到使用灵活的shell脚本.shell脚 ...

  6. Android8.0 开机启动脚本,Android开机启动shell脚本(Android 8.0测试OK)

    Android 下做开机启动shell脚本的大致流程如下: 目录 写shell脚本 为脚本写te文件 在init.rc中启动脚本 添加Selinux权限 写shell脚本 比如新建一个init.tes ...

  7. android手机执行shell脚本

    注意: 1.手机必须root 2.shell脚本需要有执行权限 流程: 1.编写shell脚本 #!/system/bin/shi=1 while [ $i -le 100 ] dolet i++sl ...

  8. android 应用层shell,如何让Android系统或Android应用执行shell脚本

    一.Android应用启动服务执行脚本 1如何写服务和脚本 在android源码根目录下有/device/tegatech/tegav2/init.rc文件相信大家对这个文件都不陌生(如果不明白就仔细 ...

  9. android apk执行shell脚本

    修改AndroidManifest.xml文件,在其manifest节点中添加android:sharedUserId="android.uid.system" ,表示apk和系统 ...

最新文章

  1. POI Excel 如何插入新的行?
  2. 《大道至简》阅读笔记二
  3. C#教程01:关于C#
  4. xxx cannot be resolved to a type 错误解决方法
  5. 比0 冷1度c语言编程,关于DS18B20的C语言程序(精确度0.1度).doc
  6. mysql的调试与分析_mysql日志管理分析调试实例_MySQL
  7. Spring模块介绍
  8. 喝最烈的酒、挖最大的DONG——工具与技巧篇
  9. Pandas 文本数据方法 split()rsplit()
  10. 2.linux系统基础笔记(延时操作、实时系统中的定时器、事件)
  11. matlab中的count函数,Excel 中COUNT函数的使用详解,详情介绍
  12. iOS篇之有沙盒缓存
  13. 经典机器学习系列(四)【神经网络详解】
  14. csrss.exe病毒查杀
  15. Hexo博客与Next主题的高级应用
  16. 小刘的编程学习技巧分享
  17. 小米电视联网后显示无法解析小米电视服务器,小米电视连上无线不能上网怎么回事?教你解决办法...
  18. 奶源争夺战日趋白热化,纳入港股通的优然牧业还有哪些牌?
  19. Java学习之路---对象篇(Object)
  20. linux怎么运行quartus,如何安裝Linux版本的Quartus II

热门文章

  1. 非正交多址接入(NOMA)与层分复用(LDM)
  2. jsp注册里密码强弱怎么弄_vue.js+ElementUI实现进度条提示密码强度效果
  3. PostgreSQL COALESCE函数
  4. 七大无需编程的DIY开发工具
  5. 加油站管理系统多少钱一台
  6. 【分享】PowerPoint如何设置保护和加密?
  7. 浅谈uf8mb4字符集
  8. mysql utf8mb4 配置_MySQL数据库UTF8mb4设置
  9. 真是怀疑IGS的Band 7是怎么出来的。
  10. bootstrap之navbar