#!/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脚本,该脚本能够递归地访问指定目录下的所有子目录,并对其中的文件执行统一的重命名操作。具体来说,我们需要完成以下几个步骤: 1. **定义主函数**:用于启动整个流程,...
2. **遍历文件系统**:为了构建文件夹树,需要使用`System.IO`命名空间中的类,如`Directory`和`DirectoryInfo`,来递归地获取文件夹及其子文件夹的信息。 3. **处理快捷方式(.lnk文件)**:Windows提供了`Shell32...
为了实现文件夹的遍历,我们需要用到递归算法,遍历每一个子文件夹直到达到最底层的文件。 其次,数据库是存储和管理结构化数据的系统。常见的数据库管理系统有MySQL、Oracle、SQL Server和MongoDB等。在将文件录入...
- **拷贝文件夹**:`cp -r dir1 dir2`,`-r` 代表递归复制。 - **统计文件信息**:`wc -l -w -c file`,分别计算行数、单词数和字符数。 - **统计文件数量**:`ls -l dir | wc -l`,`ls -l` 列出详细信息,`wc -l...
- `mv file.txt ~/Documents`: 将file.txt移动到家目录下的Documents文件夹。 - `mv oldname newname`: 重命名oldname为newname。 ##### 4. 修改文件权限(chmod) `chmod [mode] [file]` - **功能**:修改文件或...
- `#include<shellapi.h>`:提供Shell API函数,这里主要使用`SHFileOperation`函数来实现文件夹复制。 2. **字符串初始化与赋值**: - 使用`memset`对字符数组进行初始化,确保其中不包含未定义的数据。 - 使用...
无论是哪种语言或环境,核心思想都是递归地访问每个子目录,然后处理每个找到的文件。在实际应用中,可能还需要结合过滤条件、文件类型判断等高级功能,但这些基础知识已经为实现这些功能打下了坚实的基础。对于...
Solid-shell(以下称为Sol)是用于访问Solid文件和文件夹的nodejs工具,这些文件和文件夹可以作为交互式Shell,批处理程序以及在命令行上运行。 它为提供了一个前端,并支持在远程Pod,本地文件系统以及两者...
`hadoop fs -chmod`命令用于设置文件或目录的权限,例如`hadoop fs -chmod 777 /opt/data/plus.txt`,这将给文件设置所有者、组和其他用户的完全访问权限。 13. **改变文件拥有者**: `hadoop fs -chown`命令用于...
* `--recursive`:可选参数,用于递归传输文件夹下的所有文件 AZCopy 的优点 使用 AZCopy 进行文件传输有以下优点: * 高速传输:AZCopy 可以快速传输大量文件 * 可靠性高:AZCopy 可以自动重试失败的传输,确保...
4. rmr命令:用于递归地删除文件夹及其内容。使用方式为“hadoop fs -rmr <路径>”,可以彻底清空一个目录及其子目录。 5. mv命令:用于移动或重命名文件或目录。使用方式为“hadoop fs -mv <源路径> <目的路径>”...
4. **ShellFolder和ShellFile**:`Shell32.ShellFolder`和`Shell32.ShellFile`是两个关键的类,它们分别代表Shell中的文件夹和文件。你可以使用它们来获取文件和文件夹的图标,以及创建Shell链接。 5. **添加到...
- **应用场景**:适用于需要开放文件夹访问权限的场景,例如在应用中需要临时访问某些文件夹时。 #### 修改系统某文件权限 ```plaintext esl("chmod 777 /路径/", true, bb) ``` - **命令解释**:`chmod 777` 用于...
- **安全性**:启用 `xp_cmdshell` 可能带来安全隐患,建议仅在必要时启用,并严格限制对 `xp_cmdshell` 的访问权限。 - **备份**:在执行任何删除操作前,务必确保已经备份了重要数据。 - **监控与日志**:定期检查...
- `/r`:递归应用到子文件夹及其包含的所有文件。 - `/d y`:删除拒绝权限的继承。 3. **创建.reg文件并导入**: - 将上述代码复制到记事本中,保存为`.reg`文件。 - 双击该文件,确认导入注册表编辑器。 4. *...
这可以通过递归遍历文件夹中的所有文件实现,累加每个文件的大小来得到总大小。在编程中,可以使用各种语言的内置库函数,如Python的`os`模块的`walk()`函数,或者Java的`java.io.File`类的`length()`方法。此外,还...
使用`os.walk()`函数可以递归地遍历开始菜单目录下的所有子目录和文件。对于每个文件或文件夹,我们可以通过检查其属性(如修改日期、大小等)来决定是否保留或删除。 3. **清理无用快捷方式**: 许多快捷方式...
这行代码创建了一个子进程来执行shell命令,其中cp是Linux下的复制命令,'-r'参数表示递归复制整个文件夹,'source'和'destination'分别是源文件或文件夹和目标文件夹的路径。 在使用child_process.spawn执行命令时...
- **访问控制列表(ACL)**:用于定义哪些用户或用户组可以访问文件或文件夹,以及他们可以执行的具体操作。 - **权限**:具体规定了用户或用户组可以对文件或文件夹执行的操作,例如读取、写入、修改等。 ##### 2....