linux常用命令-sed(流编辑器)

**`sed`(流编辑器)常用命令**

`sed` 是一个强大的文本处理工具,常用于在文本流中进行替换、删除、插入等操作。以下是一些常见的 `sed` 命令:

1. **替换文本**:

   - `s/old/new/g`:将文本中所有匹配 "old" 的地方替换为 "new"。

   例如,替换所有 "apple" 为 "orange":

   ```

   sed 's/apple/orange/g' filename

   ```

2. **删除行**:

   - `d`:删除模式空间中的当前行。

   例如,删除包含 "error" 的行:

   ```

   sed '/error/d' filename

   ```

3. **打印**:

   - `p`:打印模式空间中的当前行。

   例如,打印包含 "success" 的行:

   ```

   sed -n '/success/p' filename

   ```

4. **插入和追加**:

   - `i`:在匹配行前插入文本。

   - `a`:在匹配行后追加文本。

   例如,在包含 "start" 的行前插入 "Begin":

   ```

   sed '/start/i Begin' filename

   ```

5. **保存到文件**:

   - `-i`:直接修改文件内容,保存更改。

   例如,替换 "cat" 为 "dog" 并保存到原文件:

   ```

   sed -i 's/cat/dog/g' filename

   ```

6. **选择行范围**:

   - `1,3d`:删除第1到第3行。

   - `/start/,/end/s/old/new/g`:在 "start" 和 "end" 之间的行中替换 "old" 为 "new"。

   例如,删除第5到第8行:

   ```

   sed '5,8d' filename

   ```

7. **反斜杠转义**:

   - 在命令中使用反斜杠 `\` 来转义特殊字符,以确保它们不被解释为正则表达式。

   例如,替换包含 `^` 的行中的 `^` 为 `start`:

   ```

   sed 's/\^/start/g' filename

   ```

这些是一些常见的 `sed` 命令,`sed` 提供了许多功能,可以根据需要进一步研究和使用。

你可能感兴趣的:(操作系统,linux)