当前位置: 首页 > news >正文

Linux sed 流编辑器实战 —— 批量修改文本、替换、删除、插入(运维必备)

前言

sed 是 Linux 最核心的非交互式流编辑器,专门用来批量修改文本、替换字符串、删除行、插入行、注释配置,不用手动打开文件,一条命令搞定批量操作,是运维、开发处理文件的神器。

本文从基础语法到正则实战,全覆盖工作高频场景,看完彻底掌握 sed。


一、sed 核心作用

逐行读取文件内容 → 按规则处理 → 输出结果核心功能:

  • 文本替换(最常用)
  • 删除指定行
  • 插入 / 追加行
  • 注释 / 取消注释配置
  • 批量修改文件内容
  • 配合管道过滤文本

二、核心语法格式

bash

运行

sed [选项] '指令' 文件名

高频必背选项

  • -n:只打印匹配到的行(取消默认全部输出)
  • -i直接修改文件内容(不加 - i 只预览不修改!)
  • -e:多条指令同时执行
  • -r:支持扩展正则表达式(工作必备)

常用指令

  • s:替换字符串(最常用)
  • d:删除行
  • p:打印行
  • a:在行后追加
  • i:在行前插入

三、基础实战(最常用)

1. 文本替换(核心:s / 旧 / 新 /g)

bash

运行

# 把文件中的 old 替换成 new(只预览,不修改文件) sed 's/old/new/g' test.txt # 直接修改文件(加 -i,生产常用) sed -i 's/old/new/g' test.txt # 只替换每行第1个匹配 sed 's/old/new/' test.txt

2. 显示指定行(配合 -n)

bash

运行

# 只显示第 10 行 sed -n '10p' test.txt # 显示 5~10 行 sed -n '5,10p' test.txt

3. 删除指定行

bash

运行

# 删除第 5 行 sed '5d' test.txt # 删除空行 sed '/^$/d' test.txt # 删除包含关键词的行 sed '/error/d' test.txt

4. 插入 / 追加行

bash

运行

# 第 2 行 前面插入 一行内容 sed '2i 插入的内容' test.txt # 第 2 行 后面追加 一行内容 sed '2a 追加的内容' test.txt

四、正则表达式实战(核心进阶)

1. 常用正则元字符(和 grep 通用)

  • ^行开头
  • $行结尾
  • .任意单个字符
  • *重复 0 次或多次
  • .*匹配任意内容
  • [0-9]匹配数字
  • +重复 1 次或多次(需要-r
  • |或条件(需要-r

2. 正则实战案例

bash

运行

# 注释所有以 # 开头以外的行(配置常用) sed -r 's/^([^#])/#\1/' nginx.conf # 批量取消注释(去掉行首 #) sed -r 's/^#//' nginx.conf # 替换所有IP地址 sed -r 's/[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+/127.0.0.1/g' test.txt # 删除以数字开头的行 sed '/^[0-9]/d' test.txt # 替换多个关键词(a→A,b→B) sed -e 's/a/A/g' -e 's/b/B/g' test.txt

五、工作流水线实战(最高频)

1. 批量注释配置文件

bash

运行

sed -i 's/^listen/#listen/' nginx.conf

2. 批量取消注释

bash

运行

sed -i 's/^#listen/listen/' nginx.conf

3. 批量替换端口号

bash

运行

sed -i 's/8080/80/g' server.conf

4. 删除日志中的空行 + 注释行

bash

运行

sed -e '/^$/d' -e '/^#/d' app.log

5. 实时日志过滤 + 替换

bash

运行

tail -f app.log | sed 's/ERROR/【错误】/g'

六、总结(30 秒记住)

  1. 替换sed 's/旧/新/g' 文件
  2. 直接改文件sed -i
  3. 删除行sed '/关键词/d'
  4. 删除空行sed '/^$/d'
  5. 正则批量sed -r
  6. 工作标配:批量注释、替换配置、过滤日志
http://www.jsqmd.com/news/867788/

相关文章:

  • 2026年5月办公空间设计趋势与优质服务商洞察 - 2026年企业推荐榜
  • SAP-MM(1):组织架构
  • 【NotebookLM权威解读】:P值背后的统计真相与AI摘要可信度判定指南
  • C#从零开始学习笔记---第九天
  • JDK1.7 升级到 JDK1.8 后 HashMap 数据结构变化有哪些影响
  • 从“流量竞价”到“认知主权”:2026年GEO优化重塑品牌数字资产(附头部GEO公司推荐) - 商业科技观察
  • Linux awk 数据分析、字段截取实战
  • Oracle大表更新优化三妙招
  • AI辅助编程:发展现状、效率评估与未来展望
  • 视频硬字幕提取神器:3分钟将任何视频字幕转为可编辑SRT文件
  • 2025-2026年国际十大物流公司排行榜推荐:十大评测海运拼箱降成本市场份额专业注意事项 - 品牌推荐
  • 2026年当前,商业广场如何选择靠谱的扫地车服务商? - 2026年企业推荐榜
  • Linux】2026 年 13 款最强视频播放器(含安装命令 + 优缺点)
  • NLP之BERT预训练模型详解
  • SQL 最常用技能详解与实战示例
  • API调用成本失控?从prompt设计到流式响应,7类高费场景避坑清单,立即止损
  • Java 程序员第 27 阶段:多模型动态路由,灵活切换公有云与本地大模型
  • 腾讯 Marvis 马维斯完整使用教程 2026 最新版
  • 2026年5月更新:武汉元泉世纪健身管理有限公司——武汉瑜伽培训行业的领航者与性价比之选 - 2026年企业推荐榜
  • ElevenLabs江苏话语音适配指南(方言TTS工程化白皮书):覆盖苏州/南京/南通3大方言片,含ASR对齐误差率↓42.7%实测数据
  • 福贡县黄金回收店铺哪家好 靠谱门店推荐及联系方式 - 莘州文化
  • 大中小型企业数据层配置规模分析与选型指南
  • ChatGPT FAQ生成不再“假大空”:引入领域知识图谱+用户会话埋点的增强生成框架(已获专利受理号CN2024XXXXXX)
  • hls::stream作为高层次设计中最总要的建模
  • 2026年5月北京办公室装饰装修公司推荐:TOP5排行办公高效评测专业价格注意事项 - 品牌推荐
  • 大中小型企业数据配置年度成本估算分析
  • 如何用3个微小改动让React组件从“能用”升级为“爱用”?——Lovable前端落地实录
  • 在 LangGraph 里做动态路由:意图分类+置信度阈值+回退链路
  • 【央行金融科技白皮书深度解码】:AI Agent在跨境支付、信贷审批、监管报送三大场景的9项强制性技术基线
  • 红河县黄金回收店铺哪家好 靠谱门店推荐及联系方式 - 莘州文化