`

shell 递归访问文件夹

 
阅读更多

 

#!/bin/env bash

## usage: addSpace <dir>
## example: ./addSpace src

is_directory()
{
  local DIR_NAME=$1
  if [ ! -d $DIR_NAME ]; then
    return 1
  else
    return 0
  fi
}

parseDir()
{

    local dir=$1
    if  is_directory "${dir}" 
        then :
        else
            echo "error,please pass me a dirctory";
            exit 1
    fi

    echo "working in ${dir}"

    local filelist=`ls "${dir}"`

    for filename in $filelist
    do
        local fullpath="${dir}"/"${filename}";
        if is_directory "${fullpath}"
            then
                parseDir "${fullpath}"
            else
                suffix="${filename##*.}" ;
                if [ 'cpp' == $suffix -o 'h' == $suffix ]; then
                    echo "parsing ${fullpath}"
                    echo "done!"
                fi
        fi
    done


}

parseDir "$1"

 注意:shell 里也由局部变量的概念 使用local关键字。

分享到:
评论

相关推荐

    PHP递归遍历指定文件夹内的文件实现方法

    今天早上在地铁上看了关于文件和文件夹的一章,正好最近刚搞懂linux的文件系统,觉得对文件属性的访问跟Shell命令很像,所以想晚上来实践一下。 发现php的文件夹函数好像没有提供遍历文件夹下的所有文件(包括子目录...

    solid-shell:用于Solid的命令行和交互式Shell

    Solid-shell(以下称为Sol)是用于访问Solid文件和​​文件夹的nodejs工具,这些文件和文件夹可以作为交互式Shell,批处理程序以及在命令行上运行。 它为提供了一个前端,并支持在远程Pod,本地文件系统以及两者...

    CuteFTP9简易汉化版

    除了上面这些,一种上传软件可以锁定一个本地文件夹到活动远程窗格中,索引配置文件夹(目录)选项,配置缓存文件夹,自动刷新文件夹转移和导航事件后,设置公差服务器设置问题,递归删除整个文件夹,删除到回收站,等等。...

    handyscripts2:Handy Scripts扩展程序使您可以从桌面轻松运行每日bash脚本

    有关更多信息,请访问 如何使用 单击状态栏中的终端图标,然后在Gnome Tweaks中设置默认路径。 便捷脚本列出了所有以.sh , .py和.pyc扩展名结尾的文件夹和文件。 搜索不是递归的,仅搜索下面的一个深度。 警告 ...

    UbuntuChina12

    2.4.1 主文件夹 38 2.4.2 桌面、文档等 39 2.4.3 计算机 39 2.4.4 CD/DVD刻录机 39 2.4.5 磁盘分区 40 2.4.6 网络 40 2.4.7 连接到服务器 41 2.4.8 搜索文件 41 2.4.9 最近的文档 42 2.5 系统菜单 42 2.5.1 首选项 ...

    Ubuntu权威指南(2/2)

    2.4.1 主文件夹 38 2.4.2 桌面、文档等 39 2.4.3 计算机 39 2.4.4 CD/DVD刻录机 39 2.4.5 磁盘分区 40 2.4.6 网络 40 2.4.7 连接到服务器 41 2.4.8 搜索文件 41 2.4.9 最近的文档 42 2.5 系统菜单 42 2.5.1 首选项 ...

    Ubuntu权威指南(1/2)

    2.4.1 主文件夹 38 2.4.2 桌面、文档等 39 2.4.3 计算机 39 2.4.4 CD/DVD刻录机 39 2.4.5 磁盘分区 40 2.4.6 网络 40 2.4.7 连接到服务器 41 2.4.8 搜索文件 41 2.4.9 最近的文档 42 2.5 系统菜单 42 2.5.1 首选项 ...

    python cookbook(第3版)

    8.22 不用递归实现访问者模式 8.23 循环引用数据结构的内存管理 8.24 让类支持比较操作 8.25 创建缓存实例 第九章:元编程 9.1 在函数上添加包装器 9.2 创建装饰器时保留函数元信息 9.3 解除一个装饰器 ...

    入门学习Linux常用必会60个命令实例详解doc/txt

    前面介绍了Linux下有多种Shell,一般缺省的是Bash,如果想更换Shell类型可以使用chsh命令。先输入账户密码,然后输入新Shell类型,如果操作正确系统会显示“Shell change”。其界面一般如下: Changing fihanging ...

    rar压缩软件.rar

    在 Unix 中,你需要将 RAR 命令行参数置于单引号或双引号中,防止被 Shell 解释。例如,这个命令将从当前目录中所有的 RAR 压缩文件中解压的 *.asm 文件: rar e '*.rar' '*.asm' 命令可以是下列中的任何一个:...

    JAVA上百实例源码以及开源项目

     Java zip压缩包查看程序,应用弹出文件选择框,选择ZIP格式的压缩文件,可以像Winrar软件一样查看压缩文件内部的文件及文件夹,源码截图如上所示。 Java 数字签名、数字证书生成源码 2个目标文件 摘要:JAVA源码,...

    JAVA上百实例源码以及开源项目源代码

     Java zip压缩包查看程序,应用弹出文件选择框,选择ZIP格式的压缩文件,可以像Winrar软件一样查看压缩文件内部的文件及文件夹,源码截图如上所示。 Java 数字签名、数字证书生成源码 2个目标文件 摘要:JAVA源码,...

Global site tag (gtag.js) - Google Analytics