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

2023-12-18 17:06:07

**`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` 提供了许多功能,可以根据需要进一步研究和使用。

文章来源:https://blog.csdn.net/f746262041/article/details/135064772
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。