零基础入门Linux指南:每天一个Linux命令_sed

sed是英语词组Stream Editor 的缩写为流编辑器

流编辑器的原理:

sed 的核心原理:逐行读取数据流 → 载入内存模式空间 → 按脚本指令处理 → 输出 / 丢弃 → 清空空间循环,全程不加载整个文件,默认不修改原始文件

常用的六个脚本

核心用途 完整可执行命令 关键参数/指令说明 对应sed工作原理
全局替换字符串(预览,不改原文件) sed 's/旧内容/新内容/g' 文件名 s=替换指令;g=全局匹配,替换所有命中内容 仅在模式空间替换,默认输出,原文件只读不修改
全局替换并直接修改原文件(就地编辑) sed -i 's/旧内容/新内容/g' 文件名 -i=就地修改,后台生成临时文件替换原文件 关闭直接输出,写入临时文件,处理完成后替换源文件
删除包含指定关键词的行 sed '/关键词/d' 文件名 d=删除指令,匹配即删除 匹配行后清空模式空间,跳过默认输出,直接处理下一行
仅打印包含指定关键词的行(筛选文本) sed -n '/关键词/p' 文件名 -n=关闭默认自动输出;p=强制打印 屏蔽默认输出,仅匹配成功的行执行打印,其余行丢弃
删除指定行号/连续行 sed '行号d' 文件名 sed '起始行,结束行d' 文件名 数字=指定行号,逗号=行范围 按行读取时判断行号,命中则执行删除,不修改其他行内容
指定行前/后插入新文本 行后追加:sed '行号a 新增内容' 文件名 行前插入:sed '行号i 新增内容' 文件名 a=行后追加;i=行前插入 在模式空间内拼接文本,输出时携带新增内容,流式插入

行前插入:sed '行号i 新增内容' 文件名

  • sed -e '1i\a new line' test1.txt

新增一个备份文件 并修改文件

  • sed -ie 'li\a new line' test1.txt

不新增一个备份文件 并修改文件

  • sed -ie 'li\a new line' test1.txt

行后追加:sed '行号a 新增内容' 文件名

  • sed -e '4a\line' test1.txt

删除包含指定关键词的行

  • sed -e '1d' test1.txt

覆盖

  • sed -e '1c\line' test1.txt

局部替换

  • sed -e '1s/new/old/' test1.txt

有多个时要用正则表达式/g表明全局替换

  • sed -e '1s/new/old/g' test1.txt

p=强制打印

  • sed -e '1p' test1.txt

仅打印包含指定关键词的行(筛选文本)sed -n '/关键词/p' 文件名

  • sed -n '1p' test1.txt

多个脚本可加多个-e

  • sed -ne '1p' -e '2p' test1.txt

大量脚本可用-f使用脚本文件

相关推荐
海阔天空任鸟飞~8 小时前
Linux 权限 777
linux·运维·服务器
IT瑞先生10 小时前
docker-compose下快速部署实操——持续更新...
运维·docker·容器
无锡银洲自动化10 小时前
工业模拟量采集痛点分析:IDCB-4E/DR/Y测量前端解决方案
运维·产品运营
Kina_C11 小时前
Linux iptables 防火墙原理与实操——从四表五链到 NAT 配置
linux·运维·服务器·iptables
A洛11 小时前
Codex 实战:一句话完成 Temu 商品图采集与印花抠图自动化
运维·人工智能·自动化·codex
wdfk_prog11 小时前
嵌入式面试真题第 15 题:不可恢复异常后的通用崩溃快照、调用栈保存与离线分析架构
linux·开发语言·面试·架构
Urbano11 小时前
服装工厂卫衣量产提质增效方案:工序自动化替代、产能优化、多品牌设备选型及落地案例
运维·自动化
GlobalSign数字证书12 小时前
自动化时代,如何高效部署SSL证书?
运维·自动化·ssl
大侠锅锅15 小时前
第 19 篇:远程运维体系——指标、SSH、日志与 OTA 升级
运维·ssh
灵机一物16 小时前
企业选型参考:2026 CXL 内存扩展方案六强测评与落地指南
服务器·网络·数据库·人工智能