Shell+Regex 复习笔记

preview
需积分: 0 0 下载量 127 浏览量 更新于2024-03-19 收藏 962KB PDF 举报
### Shell+Regex 复习笔记知识点总结 #### Shell 基础 1. **Shell 的安装与使用**: - 在 Windows 上使用 Shell 需要先安装 Git 或其他支持 Bash 的工具。 - 安装完成后,在目标 `.sh` 文件夹中右键打开 Git Bash。 - 通过命令 `sh test.sh 123` 执行脚本,并传递参数。 2. **Shell 脚本权限管理**: - 使用 `chmod u+x shell.sh` 更改脚本权限,使其成为可执行文件。 - 标准头部写法 `#!/bin/bash` 表示脚本使用的是 Bash 解释器。 3. **变量使用**: - 变量定义时必须赋予初始值,如 `a=10`。 - 访问变量时需加上 `$` 符号,例如 `$a`。 - 读取外部参数的方法: - `$#` 表示传递给脚本的参数个数。 - `$@` 表示传递给脚本的所有参数。 - `$0` 表示当前脚本的名字。 - `$1` 表示传递给脚本的第一个参数。 4. **条件语句 (if)**: - 四种不同的 if 语句形式: - 方式一使用 `()`,内部可以进行算术判断。 - 方式二使用 `[ ]`,适合做基本的字符串和数字判断。 - 方式三使用 `[[ ]]`,功能更加强大,支持逻辑表达式和正则表达式。 - 方式四使用 `test` 命令,用于测试文件属性。 5. **文件测试命令 (test)**: - `test` 命令用于测试文件的各种属性,如存在性、可读性等。 - `-e` 测试文件是否存在。 - `-r` 测试文件是否可读。 - `-gt`, `-eq`, `-ne`, `-lt` 用于数字大小的比较。 - `-a` 表示逻辑与,`-o` 表示逻辑或。 6. **循环结构**: - **For 循环**有两种常见形式: - 形式一使用 `for((i=1;i<=10;i++))`,类似于 C 语言风格。 - 形式二使用 `for i in $(seq 1 10)`,更易于阅读和维护。 - 通过 `for file in *.jpg` 可以遍历当前目录下所有的 `.jpg` 文件,并对它们进行操作。 #### 正则表达式 (Regex) 尽管原文未明确提供正则表达式的具体示例,但基于上下文和 Shell 脚本的特点,我们可以推断出以下知识点: 1. **正则表达式基础**: - 正则表达式在 Shell 脚本中主要用于文本处理和模式匹配。 - 常见的正则表达式元字符包括:`.` (匹配任意单个字符),`*` (匹配零次或多次前一个字符),`+` (匹配一次或多次前一个字符),`?` (匹配零次或一次前一个字符),`[]` (字符集),`^` (行首),`$` (行尾)。 2. **正则表达式在 Shell 中的应用**: - 在 Shell 脚本中,正则表达式通常用于文件名过滤、日志分析等场景。 - 例如,`sed 's/jpg/png/g'` 用于替换字符串中的特定模式。 3. **命令行工具支持**: - 多个 Shell 内置命令如 `grep`, `sed`, `awk` 支持正则表达式,用于数据处理和文本搜索。 - 例如,使用 `grep -E 'pattern1|pattern2' file` 可以查找包含多个模式之一的行。 4. **输出控制**: - 使用 `echo -n` 可以输出时不换行。 - `echo "hello world" >> a.txt` 将输出追加到文件末尾。 以上知识点覆盖了 Shell 和正则表达式的基础概念及应用场景,有助于读者理解和掌握这两项技能的基本使用方法。