linux sed 命令

sed (Stream Editor)

核心功能:编辑/替换/删除。

它是一个流编辑器,主要用于对文本进行逐行的非交互式修改(如批量替换、删除特定行)。

特点:默认不会直接修改原文件(除非加 -i),而是将结果输出到屏幕。

口诀:"我要怎么修改文本"。

参数 说明 示例

-n 静默模式。只打印被命令处理过的行 (通常配合 p 使用) sed -n '5p' file (只打印第5行)

-i 就地修改 (In-place)。直接修改原文件 (慎用!) sed -i 's/old/new/g' file

-e 允许多个编辑命令 sed -e 's/a/b/' -e 's/c/d/' file

s 替换 (Substitute)。语法:s/旧/新/标志 s/root/admin/

d 删除 (Delete) 行 3d (删除第3行)

p 打印 (Print) 行 p

g 全局替换 (Global)。一行中所有匹配项都替换,否则只换第一个 s/old/new/g

经典用例

1. 将文件中的所有的 "foo" 替换为 "bar" (仅输出,不修改文件)

sed 's/foo/bar/g' file.txt

2. 直接修改文件 (备份原文件为 .bak)

sed -i.bak 's/foo/bar/g' file.txt

3. 删除文件中的空行

sed '/^$/d' file.txt

4. 删除第 10 行到第 20 行

sed '10,20d' file.txt

5. 只在包含 "ERROR" 的行中进行替换

sed '/ERROR/ s/warning/critical/g' log.txt

6. 在每一行的末尾添加一个逗号

sed 's/$/,/' file.txt

相关推荐
HiDev_23 分钟前
【非标自动化】2、认识元器件(确定目标)
运维·自动化
维天说1 小时前
CLI-Switch 2026年3月版历史设计:Hook、TTY 隔离与 JSON 状态
java·服务器·json
Zhang~Ling1 小时前
从 fopen 到 struct file:从零开始拆解 Linux 文件 I/O
linux·运维·服务器
DeeplyMind1 小时前
Linux 深入 per-VMA lock:Linux 缺页路径如何摆脱 mmap_lock
linux·per-vma lock
爱写代码的阿森1 小时前
鸿蒙三方库 | harmony-utils之PreferencesUtil首选项数据监听详解
服务器·华为·harmonyos·鸿蒙·huawei
爱写代码的森1 小时前
蒙三方库 | harmony-utils之FileUtil文件重命名与属性查询详解
linux·运维·服务器·华为·harmonyos·鸿蒙·huawei
中微极客2 小时前
2026主流AI Agent框架技术选型与性能对比
运维·网络·人工智能
吠品2 小时前
Zabbix Web界面误报Server未运行的排查与解决
java·服务器·数据库
XMAIPC_Robot2 小时前
软硬协同实时控制|RK3588业务调度+FPGA硬件时序,ethercat实现半导体设备微秒级响应(125us)
linux·arm开发·人工智能·fpga开发
AOwhisky3 小时前
Python 学习笔记(第十五期)——运维自动化(下·后篇):堡垒机实战——paramiko高阶篇
运维·python·学习·云原生·自动化·运维开发