`

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关键字。

分享到:
评论

相关推荐

    文件夹递归查询所有文件夹内容替换目标文本

    1. 使用`java.nio.file.Files`类的`walkFileTree`方法,该方法可以从根目录开始,递归地访问每个子目录和文件。 2. 对于每个文件,需要检查是否为文本文件。这可以通过查看文件扩展名或检查文件内容的字节顺序来判断...

    shell 递归遍历目录下的所有文件并统一改名的方法

    为了实现上述需求,我们需要编写一个Shell脚本,该脚本能够递归地访问指定目录下的所有子目录,并对其中的文件执行统一的重命名操作。具体来说,我们需要完成以下几个步骤: 1. **定义主函数**:用于启动整个流程,...

    WPF选择文件夹对话框,支持快捷方式

    2. **遍历文件系统**:为了构建文件夹树,需要使用`System.IO`命名空间中的类,如`Directory`和`DirectoryInfo`,来递归地获取文件夹及其子文件夹的信息。 3. **处理快捷方式(.lnk文件)**:Windows提供了`Shell32...

    文件夹,文件录入数据库

    为了实现文件夹的遍历,我们需要用到递归算法,遍历每一个子文件夹直到达到最底层的文件。 其次,数据库是存储和管理结构化数据的系统。常见的数据库管理系统有MySQL、Oracle、SQL Server和MongoDB等。在将文件录入...

    solaris10 shell编程

    - **拷贝文件夹**:`cp -r dir1 dir2`,`-r` 代表递归复制。 - **统计文件信息**:`wc -l -w -c file`,分别计算行数、单词数和字符数。 - **统计文件数量**:`ls -l dir | wc -l`,`ls -l` 列出详细信息,`wc -l...

    shell命令集合

    - `mv file.txt ~/Documents`: 将file.txt移动到家目录下的Documents文件夹。 - `mv oldname newname`: 重命名oldname为newname。 ##### 4. 修改文件权限(chmod) `chmod [mode] [file]` - **功能**:修改文件或...

    vc实现文件夹从一个目录下拷贝到另一个目录

    - `#include&lt;shellapi.h&gt;`:提供Shell API函数,这里主要使用`SHFileOperation`函数来实现文件夹复制。 2. **字符串初始化与赋值**: - 使用`memset`对字符数组进行初始化,确保其中不包含未定义的数据。 - 使用...

    遍历文件夹中的路径

    无论是哪种语言或环境,核心思想都是递归地访问每个子目录,然后处理每个找到的文件。在实际应用中,可能还需要结合过滤条件、文件类型判断等高级功能,但这些基础知识已经为实现这些功能打下了坚实的基础。对于...

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

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

    HDFSShell命令综合练习.pdf

    `hadoop fs -chmod`命令用于设置文件或目录的权限,例如`hadoop fs -chmod 777 /opt/data/plus.txt`,这将给文件设置所有者、组和其他用户的完全访问权限。 13. **改变文件拥有者**: `hadoop fs -chown`命令用于...

    【shell】使用azcopy在两个blob storage之间拷贝文件

    * `--recursive`:可选参数,用于递归传输文件夹下的所有文件 AZCopy 的优点 使用 AZCopy 进行文件传输有以下优点: * 高速传输:AZCopy 可以快速传输大量文件 * 可靠性高:AZCopy 可以自动重试失败的传输,确保...

    Hadoop框架之HDFS的shell操作

    4. rmr命令:用于递归地删除文件夹及其内容。使用方式为“hadoop fs -rmr &lt;路径&gt;”,可以彻底清空一个目录及其子目录。 5. mv命令:用于移动或重命名文件或目录。使用方式为“hadoop fs -mv &lt;源路径&gt; &lt;目的路径&gt;”...

    C#实现的资源管理器的树状结构

    4. **ShellFolder和ShellFile**:`Shell32.ShellFolder`和`Shell32.ShellFile`是两个关键的类,它们分别代表Shell中的文件夹和文件。你可以使用它们来获取文件和文件夹的图标,以及创建Shell链接。 5. **添加到...

    iApp开发之最全的shell命令

    - **应用场景**:适用于需要开放文件夹访问权限的场景,例如在应用中需要临时访问某些文件夹时。 #### 修改系统某文件权限 ```plaintext esl("chmod 777 /路径/", true, bb) ``` - **命令解释**:`chmod 777` 用于...

    sql 删除文件 job来删除

    - **安全性**:启用 `xp_cmdshell` 可能带来安全隐患,建议仅在必要时启用,并严格限制对 `xp_cmdshell` 的访问权限。 - **备份**:在执行任何删除操作前,务必确保已经备份了重要数据。 - **监控与日志**:定期检查...

    win7删除权限 win管理员权限

    - `/r`:递归应用到子文件夹及其包含的所有文件。 - `/d y`:删除拒绝权限的继承。 3. **创建.reg文件并导入**: - 将上述代码复制到记事本中,保存为`.reg`文件。 - 双击该文件,确认导入注册表编辑器。 4. *...

    处理文件缓存的方法

    这可以通过递归遍历文件夹中的所有文件实现,累加每个文件的大小来得到总大小。在编程中,可以使用各种语言的内置库函数,如Python的`os`模块的`walk()`函数,或者Java的`java.io.File`类的`length()`方法。此外,还...

    清理开始:“整理开始菜单”文件夹

    使用`os.walk()`函数可以递归地遍历开始菜单目录下的所有子目录和文件。对于每个文件或文件夹,我们可以通过检查其属性(如修改日期、大小等)来决定是否保留或删除。 3. **清理无用快捷方式**: 许多快捷方式...

    Nodejs 复制文件/文件夹的方法

    这行代码创建了一个子进程来执行shell命令,其中cp是Linux下的复制命令,'-r'参数表示递归复制整个文件夹,'source'和'destination'分别是源文件或文件夹和目标文件夹的路径。 在使用child_process.spawn执行命令时...

    WIN7权限破解图文教程借鉴.pdf

    - **访问控制列表(ACL)**:用于定义哪些用户或用户组可以访问文件或文件夹,以及他们可以执行的具体操作。 - **权限**:具体规定了用户或用户组可以对文件或文件夹执行的操作,例如读取、写入、修改等。 ##### 2....

Global site tag (gtag.js) - Google Analytics