批量删除文件(由批量删除.svn文件引起的)

目的:要把一个文件内包括子文件夹内所有.svn文件删除


执行:本来以为要写一个脚本来执行,实现这个功能的。网上一找资源,可以在终端直接执行。 由于本人对脚本陌生,对终端接触也不多。所以如此简单的操作也搞得到处找资料


在删除.svn文件过程中,很顺利, -type d -name ".svn"|xargs rm -rf  。然后我还要删除后缀为.plsit.gz 的文件, -type d -name ".plist.gz"|xargs rm -rf ,结果是没用的。我总结的是,本来.svn就是一个文件的名字了,不是一个后缀。所以找到并作操作没问题

网上有资料介绍如下:

第一步:

 拿root权限

 sudo -i 

第二步

 进入相应文件的最外层

cd (

拖拽文件夹

第三步

查找某个类型的文件

会查找子文件夹的子文件夹

find . -name .svn 


第四步

查找出然后删除

find . -name .svn -exec rm -rf {} \; 

第五步

执行第三步进行确认删除干净


在第三步,卡住了,怎么要找不到我要找的文件类型。找来找去,试来试去。最后用指令:find . -name "*.plist.gz"  找到了文件列表,但各种find . -type d -iname ".gz" -exec rm -rf {} \     或  rm -rf `find . -type d -name .gz` 都行不通。  最后从一些脚本语法上灵感一现。用rm -rf */*.plist.gz 可以删除 , *代表的东西不用解释了,但这个方法没有递归的处理,也就是子文件夹内还是没办法处理,最后只能AppletekiMacBook-Air:Desktop root# rm -rf */*.plist.gz
AppletekiMacBook-Air:Desktop root# rm -rf */*/*.plist.gz
AppletekiMacBook-Air:Desktop root# rm -rf */*/*/*.plist.gz
AppletekiMacBook-Air:Desktop root# rm -rf */*/*/*/*.plist.gz
AppletekiMacBook-Air:Desktop root# rm -rf */*/*/*/*/*.plist.gz
AppletekiMacBook-Air:Desktop root# rm -rf */*/*/*/*/*/*.plist.gz

解决这个蛋疼的问题了。   


希望懂的兄弟可以留个方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值