news 2026/6/3 10:41:13

Linux:sed工具的三种最实用的用法总结

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Linux:sed工具的三种最实用的用法总结

一、原理简介

sed是一行一行读取文件内容并按照要求进行处理,把处理后的结果输出到屏
幕。

首先sed读取文件中的一行内容,把其保存在一个临时缓存区中(也称为模式空
间)
然后根据需求处理临时缓冲区中的行,完成后把该行发送到屏幕上

由于sed把每一行都存在临时缓冲区中,对这个副本进行编辑,所以不会直接修 改原文件
Sed主要用来自动编辑一个或多个文件;简化对文件的反复操作,对文件进行过滤
和转换操作

二、查找替换(实用)

1、不修该源文件

sed 's/ROOT/ROOTxx/g' a.txt 参数解析: s:查找 /:分隔符,可以自定义,比如用#号,那么指令就是:sed 's#ROOT#aaaxxx#g' a.txt 第一个ROOT:待查找的内容 ROOTxx:需要替换的内容 g:全局替换

2、修改源文件(不建议)

sed-i's/ROOT/ROOTxx/g'a.txt 增加一个-i参数,直接修改源文件。

三、结合正则

正则说明案例参数说明
/key/查询包含关键字的行sed -n '/root/p' 1.txtp参数:打印到控制台
/key1/,/key2/匹配包含两个关键字之间的行sed -n '/^adm/,/^mysql/p' 1.txt参数-n:禁用默认打印(仅输出p命令指定的行),建议带上。查日志常用
/key/,x从匹配关键字的行开始到文件第x行之间的行(包含关键字所在行)sed -n '/^ftp/,7p' 2.txtftp开头的行,到第7行打印出来,如果ftp所在行,在第7行之后,那么,只打印ftp所在行(打印一行内容)
x,y!不包含xy
/key/!不包括关键字的行sed -n '/bash$/!p' 1.txt不打印bash结尾的行

第二行的命令常用于查找系统日志。
举例:

查找default.out日志中,2023-01-29 02:和2023-01-29 05:两个时间戳之间的内容,并导出到rz.txt文件catdefault.out|sed-n'/2023-01-29 02:/,/2023-01-29 05:/p'>rz.txt

四、脚本批量执行

sed -f scripts.sh file//使用脚本处理文件
建议使用./sed.sh file

#!/bin/sed -f 1,5d s/root/hello/g 3i777 5i888 a999 p

脚本使用说明:
1) 脚本文件是一个sed的命令行清单。'commands'
2) 在每行的末尾不能有任何空格、制表符(tab)或其它文本。
3) 如果在一行中有多个命令,应该用分号分隔。
4) 不需要且不可用引号保护命令
5)#号开头的行为注释

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/28 15:25:14

day26打卡

浙大疏锦行

作者头像 李华
网站建设 2026/5/31 6:18:33

Kotaemon绩效考核指标设计:KPI合理分配

Kotaemon绩效考核指标设计:KPI合理分配 在构建面向生产环境的智能对话系统时,我们常面临一个看似简单却极为关键的问题:如何判断这个“聪明”的AI真的变好了? 当客户说“回答不够准确”,是检索没找到资料,还…

作者头像 李华
网站建设 2026/6/1 12:25:49

Kotaemon配置文件详解:config.yaml高级用法

Kotaemon配置文件详解:config.yaml高级用法 在构建企业级智能问答系统时,一个常见的挑战是:如何让大模型既能准确回答专业问题,又不会“一本正经地胡说八道”?尤其是在金融、医疗或法律这类对准确性要求极高的领域&…

作者头像 李华
网站建设 2026/6/1 8:02:40

低压配电盒深度解析:插片式 vs 智能式

新能源汽车低压配电盒深度解析:插片式 vs 智能式及VCU集成指南 引言 在新能源汽车的电气架构中,低压配电盒(Low Voltage Distribution Box,简称LVDB)作为电能分配和电路保护的核心部件,其设计直接影响整车…

作者头像 李华