news 2026/6/9 22:52:30

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/6/10 9:32:55

一文搞懂RAG架构演进史,以及Kotaemon的创新突破

一文搞懂RAG架构演进史,以及Kotaemon的创新突破 在企业级AI应用落地的过程中,一个看似简单却致命的问题反复浮现:大模型“张口就来”。用户问:“我们公司年假怎么算?”——模型自信满满地回答“工作满一年享15天”&…

作者头像 李华
网站建设 2026/6/9 15:14:09

Shizuku 技术解析:让普通 App 获得 ADB 级能力

关键词:Android / ADB / 权限模型 / Binder / 非 Root 系统能力调用 一、背景:为什么我们需要 Shizuku? 在 Android 开发或高级用户场景中,我们经常会遇到这样的问题: 想在 App 内调用 pm、am、settings 等系统命令想…

作者头像 李华
网站建设 2026/6/10 11:09:48

2026考研王道计算机408

在计算机科学的殿堂里,操作系统(OS)模块始终是基石,其核心概念——进程、内存、文件系统与网络——构成了所有软件运行的底层逻辑。然而,随着云计算时代的全面降临,这些经典理论正以前所未有的方式被重新组…

作者头像 李华
网站建设 2026/6/10 11:12:46

RabbitMQ入门第一课:消息队列是什么?解决分布式系统哪些痛点?

在分布式系统架构日益普及的今天,“消息队列”这个词频繁出现在技术文档和架构讨论中。作为消息队列领域的经典实现,RabbitMQ更是许多企业的首选中间件。但对于刚入门的开发者来说,往往会有这样的困惑:消息队列到底是什么&#xf…

作者头像 李华