【linux】--- 高级命令行文本处理工具 sed

Linux sed命令高级用法精讲 《Linux sed用法详解》一节给大家介绍了如何用 sed 命令的基本功能处理文本中的数据,所涵盖的知识点,可以满足日常大多数文本编辑需求。本节将介绍 sed 提供的一些高级功能,这些功能虽不常用,但知道这些功能的存在以及用法也是有必要的。 sed 多行命令 在学习 sed 命令的基础功能时,你可能注意到了一个局限,即所有的 sed 命令都只是针对单行数据执行操作,在 sed 命令读取... 阅读详情

第四、sed命令

sed命令简述

sed是一种在线编辑器,他一次处理一行内容。

处理时,首先会将当前的行存储在临时缓冲区中,此临时缓冲区称为“模式空间”

然后,sed命令会对缓冲区中的内容进行处理。处理完成后,会将缓冲区的内容送达到屏幕。

接着会去处理下一行,直到处理文件的末尾。

文件的内容并没有改变。

sed主要用来自动编辑一个或者多个文件;简化对文件的反复操作,编写转化程序等。

sed 命令定址

sed命令可以通过定制来编辑所编辑的行,该地址用数字构成;

用逗号分隔的两行数表示以这两行为起止的行的范围(包括行数表的两行)

eg:  1,3 表示待编辑的行为1,2,3行 

美元符号($)表示最后一行
 

sed 基本命令

d表示删除

sed  '2'd  sedtest  删除sedtest的第二行内容

sed '1,3d'  sedtest

sed  '4,$d'  sedtest

sed 模式匹配

sed  '/hah/'d sedtest   --删除包含hah 的行

s标志替换

sed 's/hhhhhh/**/'  sedtest   ---将包含hhhhhh 的行中的hhhhhh替换为**

s/   替换

sed    's/hhhhhh/**/g'  sedtest  --- 如果没有/g,则只替换每行的第一个,而有/g(global)后,这一行所有匹配到的都会去替换

sed  's/^first/start/'  sedtest  -- 替换以first开头的行替换为start开始

sed -n 's/^first/start/p'  sedtest  ---(-n)选项一般和p标志一起使用,表示只打印那些发生替换的行

&标志表示追加

sed 's/^first/&start/'  sedtest

sed - n 's/\(lalala\)l/\1@@@\p'  sedtest

--表示打印将lalala后的l替换为@@@的行 ;*: ()需要转义,  \(  ,    /1表示第一个小括号内的内容

sed -n 's/\(lal\)a\(la\)l/\1*a*\2*l*/p' sedtest

-- * \1表示第一个小括号的内容   \2表示第二个小括号的内容

sed 's#777#***#'  sedtest

-- s后面的符号就是分隔符

sed  -n  '/777/,/999/p'  sedtest

--- 打印匹配到777 到999之间的行,包含777和999

 sed -n '5,/^ninth/p' sedtest

-----打印从第五行开始到第一个包含以ninth开始的行之间的所有行。

sed -n '/first/,/sixth/s/$/end/p' sedtest

--匹配first到sixth的行,并且将每行的末尾打印为end

多点编辑:e命令,流式处理

sed -e '1,5'd -e 's/777/***/' sedtest

expression 表达式赋值

sed --expression='s/ha/$$/' --expression='/hhh/d' sedtest

r:命令,为读入命令

sed '/first/r a.txt' sedtest 

--在sedtest文件中匹配到的行的后面追加 a.txt文件的内容,如果匹配多行,则显示在所有行的后面

w命令: 写入文件

sed -n '/first/w a.txt' sedtest 

--- 将sedtest中匹配到first的行写入到a.txt文件中去

a命令:追加命名

sed '/^fir/a\--->this is a example'  sedtest

---  a为在后面追加

sed '/first/i\---.insert in here' sedtest

---> i为在前面插入

sed '3q' sedtest-----打印完第3行后,退出sed。

y命令 : 替换

sed '1,10y/h/H/' sedtest

Sed脚本是一个sed的命令清单,启动Sed时以-f选项引导脚本文件名。Sed对于脚本中输入的命令非常挑剔,在命令的末尾不能有任何空白或文本,如果在一行中有多个命令,要用分号分隔。以#开头的行为注释行,且不能跨行。
 

Linux实用命令 sed命令 阅读详情

相关推荐

sed基本用法 sed文本块处理 、 sed高级应用

NSD SHELL DAY05 案例1:sed基本用法 案例2:使用sed修改系统配置 案例3:sed多行文本处理 案例4:sed综合脚本应用 1 案例1:sed基本用法 1.1 问题 本案例要求熟悉sed命令的p、d、s等常见操作,并结合正则表达式,完成以下任务: 删除文件中每行的第二个、最后一个字符 将文件中每行的第一个、第二个字符互换 删除文件中所有的数字 为文件中每个...

jackjack博客 2643

Linux命令行文本处理工具

文件浏览 cat 查看文件内容 more 以翻页形式查看文件内容(只能向下翻页) less 以翻页形式查看文件内容(可上下翻页) head 查看文件的开始10行(或指定行数) tail 查看文件的结束10行(或指定行数) 基于关键字搜索 命令grep用以基于关键字搜索文本 示例: grep 'linuxcast' /etc/passwd find / -

念念小boy的加油站 567

超过4.2万个AOI(地理围栏),深圳市2025年2月15日更新的全类别AOI,矢量图层(全国22个超大特大城市AOI更新系列)

超过4.2万个AOI(地理围栏),深圳市2025年2月15日更新的全类别AOI,矢量图层(全国22个超大特大城市AOI更新系列)

1071

Linux学习(4)——高级命令行文本处理工具(cut,sed,awk)

1 cut 从一个文本文件或者文本流中提取文本列。 1.1 cut语法 cut -d'分隔字符' -f fields <==用于有特定分隔字符 cut -c 字符区间 <==用于排列整齐的信息 选项与参数: -d :后面接分隔字符。与 -f 一起使用; -f :依据 -d 的分隔字符将一段信息分割成为数段,用 -f 取出第几段的意思; -c :以字...

一角残叶的博客 1163

在统信UOS Server 20上踩坑记:手把手教你搞定openGauss 5.0.0企业版安装(附常见报错解决方案)

本文详细记录了在统信UOS Server 20上安装openGauss 5.0企业版的实战经验,包括环境准备、依赖库问题、目录权限、内存参数调优等常见问题的解决方案。通过伪装系统标识、建立软链接、调整内存参数等方法,成功克服国产操作系统与企业级数据库的兼容性挑战,为开发者提供了一份深度排雷指南。

weixin_28698059的博客 263

如何在VSCode中无缝集成Azure OpenAI GPT-5-codex?保姆级配置教程

本文详细介绍了在VSCode中无缝集成Azure OpenAI GPT-5-codex的完整配置教程,涵盖环境准备、Azure资源创建、本地配置、VSCode插件安装及高级定制。通过Codex CLI和config.toml文件配置,开发者可快速实现AI辅助编程,大幅提升代码生成、错误诊断和文档编写效率。

weixin_29268637的博客 555

linux高级命令行文本处理cut,sed,awk

cut sort排序wc sedlinux sed的详细指令-i会删除删除替换AWKawk命令详解 

LYoungJ的博客 377

【农业生产系统模型】基于R语言APSIM模型进阶应用与参数优化、批量模拟实践技术

APSIM模型有Classic和Next Generation两个系列模型,能模拟几十种农作物、牧草和树木的土壤-植物-大气过程,被广泛应用于精细农业、水肥管理、气候变化、粮食安全、土壤碳周转、环境影响、农业可持续性、农业生态等诸多与农业生产和科研有关的领域。R语言是一门应用场景广泛、简单易学的程序语言,APSIM模型开发了许多R语言辅助包,在APSIM模型的气候、土壤、管理措施等数据准备,自动化模拟,参数优化和结果分析上都发挥着重要的作用。案例一:APSIM模型输入参数和土壤文件的制备。

2303_79243743的博客 1046

Linux 行文本处理工具sed

sed非常强大的行文本编辑命名

zxrhhm的博客 1171

90nm CMOS工艺下6μW超低功耗LDO设计实战:从原理图到版图全解析

本文详细解析了在90nm CMOS工艺下设计一款静态功耗仅为6μW的超低功耗LDO(低压差线性稳压器)的全过程。文章深入探讨了如何通过改进型翻转电压跟随器(FVF)架构实现无输出电容设计,在满足极低功耗和芯片面积高效(chip-area-efficient)要求的同时,确保环路稳定性与快速瞬态响应,为物联网、可穿戴设备等应用提供关键电源管理解决方案。

weixin_29196613的博客 274

C#【通用方法】字节数组添加、移除、获取的方法类(妙用List<byte>,开发中常用)

C#【通用方法】添加移除字节的方法类(妙用List,开发中常用)

星Yeah 的博客 3358

Linux命令:文本处理工具sed详解

sed(stream editor)是Linux/Unix系统中的一个强大的文本处理工具,它可以从标准输入读取数据,执行编辑命令,然后将修改后的输出发送到标准输出。sed命令非常适用于文本文件的处理,包括查找、替换、删除、添加行等操作,而无需修改原始文件。熟练掌握它sed可以极大地提高文本处理效率。sed命令是区分大小写的。使用sed直接修改文件时要小心,因为一旦修改无法撤销。对于复杂的文本处理任务,可能需要结合正则表达式或其他命令一起使用。

weixin_70208651的博客 1743

YOLOv8 智能交通违章检测 - 机动车道占用(违停/非机动车占道)详解

本文提出基于YOLOv8的智能交通违章检测方案,主要针对机动车道占用问题。系统整合目标检测、目标跟踪和ROI区域判定,实现两种典型场景检测:违章停车(静止超时)和非机动车/行人占道。详细介绍了系统架构、配置文件设计、核心逻辑实现及可视化模块,包括ROI区域管理、状态跟踪和违章判定算法。针对实际应用中的堵车误判、非机动车误报等问题,提出了密度检测、轨迹分析和自适应阈值等优化策略。该方案计算量适中,适合边缘设备部署,并建议配套开发ROI标定工具和证据链保存功能。

u010117029的博客 236

Linux Shell 脚本编程基础知识篇—sed文本处理工具

sed是一个功能强大的文本处理工具,用来对文本进行过滤与替换工作;sed通过输入读取文件内容,但一次仅读取一行内容进行某些指令处理后输出;sed更适合处理自动化、批处理和非交互式的文本处理任务,适合在脚本和命令行中使用。Linux sed 命令是利用脚本来处理文本文件。sed 可依照脚本的指令来处理、编辑文本文件。Sed 主要用来自动编辑一个或多个文件、简化对文件的反复操作、编写转换程序等。

weixin_55767624的博客 2118

工业相机通用SDK封装实战:C#硬件抽象层(HAL)实现多品牌无缝切换

本文介绍了一种解决工业相机SDK碎片化问题的通用解决方案。作者基于多年工业视觉项目经验,提出通过硬件抽象层(HAL)和适配器模式封装不同品牌相机的SDK差异,实现统一的相机操作接口。文章详细分析了传统直接对接SDK方式的四大痛点:接口碎片化、维护成本高、业务耦合度高和稳定性差,并给出了分层架构设计方案。该方案采用三层架构(业务层、抽象层、实现层),遵循最小接口原则和高内聚低耦合等设计理念,定义了包括触发模式、像素格式等通用枚举类型,以及图像数据结构等核心抽象。最终实现的HAL层能够支持多种品牌相机,显著降低

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 576

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Linux sed 命令 详解

sed是一个基于模式匹配对文本进行过滤或修改的流编辑器。替换文本内容删除指定行插入或追加新内容打印特定行使用正则表达式进行高级匹配多条命令组合处理与交互式编辑器(如vim)不同,sed是非交互式的,适合在脚本中自动执行批量文本处理任务。sed是 Linux 下非常实用的文本处理利器,掌握其基本命令和正则表达式技巧,可以大幅提升你在日常运维、日志分析、自动化脚本编写等方面的效率。grep查找,sed修改,awk分析 —— 这就是 Linux 文本处理三剑客!

h a 6 6 6 c k 为 你解决复杂难题! 2755

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

Linux-sed命令详解与实例教程

详细讲解Linux sed基本操作和实例教程

加油站发光博主 3584

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

sed 命令详解

sed是一个“作交互式的”面向字符流的编辑器。输入一般来自文件,但是也可以直接来自键盘。输出在默认情况下输出到终端屏幕上,但是也可以输出到文件中,sed通过解释脚本来工作,该脚本指定了将要执行的动作。sed还可以作为编辑过滤器使用。换句话说,你可以处理输入文件并将输出结果发送到另外一个程序。awk 程序的典型示例是将数据转换成格式化的报表。当数据拥有某种结构时就能最好地体现awk的好处。

qq_42226855的博客 4686

Linux文本处理sed命令高级用法

sed 工作原理 sed 即 Stream EDitor,和 vi 不同,sed是基于行的文本编辑器 Sed是从文件或管道中读取一行,处理一行,输出一行;再读取一行,再处理一行,再输出一行,直到最后一行。 sed 模式空间 sed每当处理一行时,把当前处理的行存储在临时缓冲区中,称为模式空间(PatternSpace), 接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。 一次处理一行的设计模式使得sed性能很高,sed在读取大文件时不

SunMy的博客 2141

Linux服务器sed替换命令详解

sed支持基本的正则表达式和扩展正则表达式,可以进行复杂的模式匹配和文本操作

m0_65482680的博客 2107

Linux:文本处理三剑客之sed命令用法详解

Linux的sed命令是利用脚本来处理文本文件,sed 可依照脚本的指令来处理、编辑文本文件。该命令对输入文件进行流式处理,也就是逐行读取输入文件的内容(文件或管道),处理后输出,不直接修改源文件(除非使用 `-i` 选项)。Sed 主要用来自动编辑一个或多个文件、简化对文件的反复操作、编写转换程序等。

It_BeeCoder的博客 1582

linux的sed命令

sed(Stream Editor),流编辑器。对标准输出或文件逐行进行处理可以对标准输出 或 文件 进行 修改字符串/删除该行 处理工作模式:sed处理文本的时候,是逐行处理。会首先有个pattern来检查当前行是否匹配,如果该行匹配,那么对该行执行command编辑命令处理。如果该行不匹配,那么就不会对该行处理,而继续下一行。

pscool的博客 1429

linux sed -i 命令

Linux sed命令是利用script来处理文本文件。 (一)、选项参数 sed -i function -i :直接修改读取的文件内容,而不是输出到终端。 动作说明: [n1[,n2]]function n1, n2 :不见得会存在,一般代表『选择进行动作的行数』,举例来说,如果我的动作是需要在 10 到 20 行之间进行的,则『 10,20[动作行为] 』 function: a :新增, a 的后面可以接字串,而这些字串会在新的一行出现(目前的下一行)~ c :取代, c 的后面可以接字串,这些字串

小丽 6746

Linux sed命令

⏹Linux sed命令

菜鸟记录 1669

Linux 文本处理三大利器:命令小工具和sed

在 Linux 系统中,文本处理是日常工作中不可或缺的一部分。无论是日志分析、数据提取还是还是配置文件修改,都需要高效的文本处理工具。本文将依次介绍常用的命令小工具、sed 流编辑器,帮助你快速掌握 Linux 文本处理的精髓。命令小工具:cut(剪裁列) sort(排序) uniq(去重计数) tr(替换 删除 压缩)sed:sed(Stream Editor)是一种流编辑器,它可以依照脚本的指令来处理、编辑文本文件。工作流程包括读取、执行和显示常用选项:-e:用指定命令处理输入文本。

z_66667的博客 1283

linux工具-sed

举例说明[aeiou]任意元音字母[0-9]任意数字, -表示范围等价于\w举例# 使用字符集, 中括号不需要转义。

编程驴子的博客 818
上一篇: 【linux】--- 高级命令行文本处理工具 wc
下一篇: 【linux】--- 高级命令行文本处理工具 awk
Beat_Boxer
博客等级 码龄9年 18粉丝 88原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值