当前位置:首页>Linux>Linux入门必学:sed 命令其实没你想的那么难

Linux入门必学:sed 命令其实没你想的那么难

  • 2026-08-18 04:44:32
Linux入门必学:sed 命令其实没你想的那么难

在Linux世界里,一切皆文件。配置文件、日志文件、命令输出,本质上都是文本。而在日常学习、开发或运维过程中,我们经常会遇到这样的问题:批量替换配置项、修改日志内容、删除无用行、对文件做“无痕处理”。这时,sed 就派上用场了。

文章开始之前先做个调查
sed(Stream Editor,流编辑器)是 Linux 中专门用于按行处理文本并进行替换、删除、插入等操作的工具。掌握sed,你会发现很多原本需要手动编辑的工作,其实一行命令就能完成。

一、sed 能做什么?

一句话概括:
sed 用来“边读边改”文本内容。
常见应用场景包括:
  1. 批量替换配置文件内容
  2. 删除指定行或空行
  3. 对日志进行清洗
  4. 自动化脚本中的文本修改
sed 特别适合非交互式、批量处理

二、sed 如何安装?

大多数 Linux 发行版默认已安装 sed
可以先检查:
sed --version
输出如上图,说明已经安装过了
如未安装,可手动安装:
yum install -y sed  # CentOS/Redhatapt install -y sed  # Ubuntu/Debian

三、sed 的基本使用方法

sed 的基本格式如下:
sed [选项] '动作' 文件

1️⃣ 最常用:替换内容(s 命令)

sed 's/old/new/' file.txt
说明:
s 表示 substitute(替换)
默认只替换每行第一个匹配项
不会修改原文件,只输出结果

2️⃣ 全局替换

sed 's/old/new/g' file.txt
g 表示 global,替换当前行所有匹配内容。

3️⃣ 直接修改文件(非常重要)

sed -i 's/old/new/g' file.txt
⚠️ -i 会直接修改文件内容,生产环境务必谨慎

四、sed 常见实用操作

1️⃣ 删除指定行(操作命令类似于vim)

删除第 3 行:
sed '3d' file.txt
删除 3 到 5 行:
sed '3,5d' file.txt

2️⃣ 删除空行

sed '/^$/d' file.txt
日志清洗时非常常用。

3️⃣ 按条件匹配操作

只替换包含 error 的行:
sed '/error/s/old/new/g' file.txt

4️⃣ 查看不修改(安全模式)

sed 's/root/admin/g' file.txt
先看输出结果,再决定是否加 -i。

五、sed 使用小技巧

✅ 1. 备份后修改(强烈推荐)

sed -i.bak 's/old/new/g' file.txt
会生成 file.txt.bak 备份文件。

✅ 2. 使用正则表达式

sed 's/[0-9]\+/NUM/g' file.txt
适合脱敏、日志处理。

✅ 3. 与管道结合使用

ps -ef | sed '1d'
删除表头,仅保留进程信息。

六、写在最后

sed不是用来“背语法”的工具,而是在真实需求中反复使用的生产力武器。
配置文件批量修改、脚本自动化、日志清洗,sed 几乎无处不在。
建议你从以下场景开始练习:
  • 修改配置文件
  • 清洗日志内容
  • 自动化部署脚本
当你真正用 sed 替代手工编辑时,才会体会到:Linux 的高效,源于工具的组合使用。
关注我,更多linux技巧和你一起探讨!

最新文章

随机文章