Shell+Regex 复习笔记
需积分: 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 和正则表达式的基础概念及应用场景,有助于读者理解和掌握这两项技能的基本使用方法。