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

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

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

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

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

```

sed 's/apple/orange/g' filename

```

  1. **删除行**:
  • `d`:删除模式空间中的当前行。

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

```

sed '/error/d' filename

```

  1. **打印**:
  • `p`:打印模式空间中的当前行。

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

```

sed -n '/success/p' filename

```

  1. **插入和追加**:
  • `i`:在匹配行前插入文本。

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

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

```

sed '/start/i Begin' filename

```

  1. **保存到文件**:
  • `-i`:直接修改文件内容,保存更改。

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

```

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

```

  1. **选择行范围**:
  • `1,3d`:删除第1到第3行。

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

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

```

sed '5,8d' filename

```

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

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

```

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

```

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

相关推荐
AlfredZhao16 小时前
生产环境里,为什么不建议把普通端口直接暴露到公网?
linux·https·443·80
戴为沐2 天前
Linux内存扩容指南
linux
zylyehuo2 天前
Linux 彻底且安全地删除文件
linux
用户805533698033 天前
主线 U-Boot 上 RK3506:和闭源 rkbin 拔河的三个隐性契约
linux·嵌入式
用户034095297913 天前
linux fcitx 5 雾凇拼音 设置在中文输入法下仍然输入英文标点
linux
Web3探索者4 天前
可视化服务器管理和传统命令行区别是什么?新手教程:Linux 运维到底该用图形界面还是 SSH 命令行?
linux·ssh
zylyehuo5 天前
Linux系统中网线与USB网络共享冲突
linux
Sokach10156 天前
Linux Shell 脚本从零到能用:一个新手的一天学习总结
linux
AlfredZhao6 天前
Docker 容器时区不对,`timedatectl` 不存在怎么办?
linux·timezone
zzzzzz3108 天前
9K Star 炸裂开源!这个 C 语言写的代码知识图谱,把 Linux 内核索引压缩到了 3 分钟
linux·服务器·sql