shell遍历文件夹并执行命令
背景:
有一个源码包里面包含很多子目录和makefile,打包后的压缩包太大,需要将make生成的所有二进制文件删除然后再打包。
需求:
因此,要求在制定目录的所有递归子目录中执行make clean以清楚所有的目标文件。
代码:
写了一段简单的shell脚本,有两个功能:
1.遍历所有子目录,如果存在Makefile就执行make clean(当然也可以干更多的事);
2.列出所有子目录下大于10M(当然也可以指定其他值)的文件。
话不多说上代码:
#!/bin/bash
run_make()
{
#如果该目录下存在Makefile
if [ -f "Makefile" ];then
echo ""
echo ===================== FOUND ===================
pwd;
echo ===============================================
make clean;
fi
} run_ls()
{
pwd; #列出大于10M的文件
#ls -l |awk '{if($5 > 10485760){print $5}}'
ls -l |awk '{if($5 > 10485760){print "--",$9,$5}}' echo ""
} myfunc()
{
cd $;
#run_make;
run_ls; for x in $(ls .)
do
if [ -d "$x" ];then
myfunc $x;
cd ..
fi done
} p=.
if [ $ ];then
p=$
fi
echo $p myfunc $p
shell遍历文件夹并执行命令的更多相关文章
- shell遍历文件夹
遍历目录下的所有文件 假如有一个文件夹路径为dir,遍历文件 for file in /path/dir/* do if test -f $file then echo $file arrary=($ ...
- XP下,文件夹添加右键命令行
原文:XP下,文件夹添加右键命令行 总共有3种方式: --------------------1---------------------------------------------------- ...
- 写个批处理脚本来帮忙干活--遍历文件夹&字符串处理
这次打算写几篇关于脚本方面的博客,主要是记录一下 Gradle 脚本和批处理脚本的一些写法,方便后续查阅. 前言 平常开发过程中,一些较为重复的手工性工作,如果能让脚本来帮忙处理,自然是最好的,刚好之 ...
- 个人永久性免费-Excel催化剂功能第83波-遍历文件夹内文件信息特别是图像、音视频等特有信息
在过往的功能中,有体现出在Excel上管理文件的极大优势,在文件的信息元数据中,有图片和音视频这两类特有的属性数据,此篇对过往功能的一个补充,特别增加了图片和音视频信息的遍历功能. 使用场景 在文件管 ...
- Linux chmod命令修改文件与文件夹权限的命令附实例
Linux chmod命令修改文件与文件夹权限的命令附实例 作者:佚名 字体:[增加 减小] 来源:互联网 时间:05-01 20:46:07我要评论 在linux中要修改一个文件夹或文件的权限我们需 ...
- Android开发手记(21) 遍历文件夹
我们在遍历文件夹的时候由于涉及到SD卡相关操作,所以我们需要添加如下权限: <uses-permission android:name="android.permission.WRIT ...
- 原生js 遍历文件夹分析xml并保存
其实这种功能,网上相关的代码多的是,我也是因为今天正好要用到这个功能,所以临时写了下,放这里保存下,以便将来自己或者别人用的上吧. 当然我写的是一个hta文件.下面是完整js代码,都是调用active ...
- shell判断文件夹是否存在
#shell判断文件夹是否存在 #如果文件夹不存在,创建文件夹 if [ ! -d "/myfolder" ]; then mkdir /myfolder fi #shell判断文 ...
- c bash 代码遍历文件夹下所有文件
用C代码.bash实现代码遍历文件夹下所有文件 递归方式实现如下: void listdir(char *path) { DIR *ptr_dir; struct dirent *dir_entry; ...
随机推荐
- Linux下安装rz、sz命令(文件上传下载)
yum install -y lrzsz 说明:rz命令本地上传文件到服务器:sz命令发送文件到本地.
- PL/SQL 11.6 注册码
PL/SQL Developer 下载地址:Download PL/SQL Developer 11.0.6 注册码 Product Code:4t46t6vydkvsxekkvf3fjnpzy5wb ...
- php获取不到url问号之后的参数
url规则已定义: RewriteRule ^/member/editprivilege/([0-9]+) /access.php?_u=mobile/editprivilege&aid=$1 ...
- Aras Innovator 11 sp2 firefox客户端设置
在上一篇文章<Aras Innovator 11 sp2 安装>后,服务器算是安装好了,还需要在使用的客户端进行设置才可以正常使用Aras Innovator 该篇为firefox设置,还 ...
- Ubuntu 18.04安装网易云音乐(转载)
作为Ubuntu下唯一一款超级好用的音乐软件,必须下载. 提升为root权限后操作 0 : 网易云音乐1.0.0(该版本较为好安装)下载地址 http://s1.music.126.net/downl ...
- [js] 数据结构
var dic = {"127.0.0.1":{"1440":[["keyx","keyy","clix&qu ...
- NBUT 1220 SPY
$map$,简单模拟. #include<cstdio> #include<cstring> #include<cmath> #include<algorit ...
- 深度学习应用系列(三)| autokeras使用入门
我们在构建自己的神经网络模型时,往往会基于预编译模型上进行迁移学习.但不同的训练数据.不同的场景下,各个模型表现不一,需要投入大量的精力进行调参,耗费相当多的时间才能得到自己满意的模型. 而谷歌近期推 ...
- 最近公共祖先LCA(前置知识)
1.前言 最近公共祖先(Least Common Ancestors),简称LCA,是由Tarjan教授(对,又是他)提出的一种在有根树中,找出某两个结点u和v最近的公共祖先问题. 2.什么是最近公共 ...
- Spring和依赖注入的价值
javaeye上看到有帖子,置疑spring和依赖注入的价值,回复内容整理如下: 依赖注入对设计有利,而spring则促进了依赖注入的使用. 如果业务处理类,它所使用的倚赖,都是依靠在这个类内部实现或 ...