linux三剑客快速掌握

好的!Linux 三剑客(`grep`、`awk`、`sed`)是 Linux 系统中非常强大的文本处理工具。

### **1. `grep`(全局搜索)
#### **用途**
- 用于搜索文本文件中的特定模式(字符串或正则表达式)。

#### **常用选项**
- `-i`:忽略大小写。
- `-v`:反向匹配,显示不匹配的行。
- `-n`:显示匹配行的行号。
- `-C`:显示匹配行的上下文内容。
- `-r` 或 `-R`:递归搜索目录中的文件。

#### **示例**
```bash
grep "pattern" file.txt # 搜索文件中的模式
grep -i "pattern" file.txt # 忽略大小写搜索
grep -v "pattern" file.txt # 显示不匹配的行
grep -n "pattern" file.txt # 显示匹配行的行号
grep -C 2 "pattern" file.txt # 显示匹配行的上下文(前后各2行)
grep -r "pattern" /path/to/dir # 递归搜索目录
```

### **2. `awk`(文本分析器)
#### **用途**
- 用于处理文本文件中的列数据,支持复杂的文本处理和数据操作。

#### **常用语法**
```bash
awk '{pattern + action}' file.txt
```
- **`pattern`**:匹配条件,可以是正则表达式或条件表达式。
- **`action`**:对匹配的行执行的操作,通常用于提取或修改列数据。

#### **常用操作**
- 打印文件中的所有行:`awk '{print}' file.txt`
- 打印第2列:`awk '{print $2}' file.txt`
- 打印第1列和第3列:`awk '{print $1, $3}' file.txt`
- 打印匹配某列的行:`awk '$1 == "value" {print}' file.txt`

#### **示例**
```bash
awk '{print $1, $3}' file.txt # 打印第1列和第3列
awk '$2 > 10 {print}' file.txt # 打印第2列大于10的行
awk '/pattern/ {print $1}' file.txt # 打印匹配模式的第1列
```

### **3. `sed`(流编辑器)
#### **用途**
- 用于对文本文件进行基本的编辑操作,如替换、删除、插入等。

#### **常用选项**
- `-e`:指定编辑命令。
- `-i`:直接修改文件内容(慎用)。
- `-n`:静默模式,不输出任何内容,除非使用 `p` 命令。

#### **常用命令**
- `s/old/new/`:替换文本中的内容。
- `d`:删除匹配的行。
- `p`:打印匹配的行。
- `i`:在匹配的行之前插入内容。
- `a`:在匹配的行之后追加内容。

#### **示例**
```bash
sed 's/old/new/' file.txt # 替换文本中的内容
sed -i 's/old/new/' file.txt # 直接修改文件内容
sed '/pattern/d' file.txt # 删除匹配模式的行
sed -n '/pattern/p' file.txt # 打印匹配模式的行
sed '1i New line at the beginning' file.txt # 在文件开头插入一行
sed '$a New line at the end' file.txt # 在文件末尾追加一行
```

### **简单记忆口诀**
1. **`grep`**:**G**et **R**egular **E**xpressions **P**atterns(获取正则表达式模式)
- 用于搜索文本中的模式。
- **常用选项**:`-i`(忽略大小写)、`-v`(反向匹配)、`-n`(显示行号)。

2. **`awk`**:**A**nalysis **W**ork **K**it(分析工作套件)
- 用于处理文本中的列数据。
- **常用操作**:`print`(打印列)、`$1`(第1列)、`$2`(第2列)。

3. **`sed`**:**S**tream **E**ditor(流编辑器)
- 用于编辑文本文件。
- **常用命令**:`s/old/new/`(替换)、`d`(删除)、`p`(打印)。

### **总结**
- **`grep`**:搜索文本中的模式。
- **`awk`**:处理文本中的列数据。
- **`sed`**:编辑文本文件。

通过这个简单的总结,你可以快速记住 Linux 三剑客的基本用途和常用操作。

posted @ 2025-04-18 00:10  沧海一粟95  阅读(54)  评论(0)    收藏  举报