linux中find与rm实现查找并删除目录或文件
删除指定名称的文件或文件夹:
find -type d | grep .svn$ | xargs rm -r
find -tpye d 根据类型来查找,目录d,文件f,
grep .svn$ 正则表达式,查找以.svn 结尾的文件或者目录
xargs rm -f 执行删除操作
如果查找删除范围在当前目录下以及其子目录下, 需要加上范围
find ./ -type d | grep .svn$ | xargs rm -r
找到根目录下所有的以test开头的文件并把查找结果当做参数传给rm -rf命令进行删除:
1、find / -name “test*” |xargs rm -rf
2、find / -name “test*” -exec rm -rf {} ;
3、rm -rf $(find / -name “test”)
如果想指定递归深度,可以这样:
1、 find / -maxdepth 3 -name “.mp3” |xargs rm -rf
2、find / -maxdepth 3 -name “test” -exec rm -rf {} ;
3、rm -rf $(find / -maxdepth 3 -name “test”)
这样只会查找三层目录中符合条件的文件并删除掉!
参考博客链接
https://www.cnblogs.com/zhichaoma/p/9073160.html
查看目录下磁盘占用:
du -ah --max-depth=1
linux sed命令 批量替换目录下的所有文件 : 批量查找并替换任意目录下的文件内容。
sed -i "s/要查找的文本/替换后的文本/g" `grep -rl "要查找的文本" /任意目录`
linux查看目录大小:
du --max-depth=1 -h