Linux四剑客详解教程-sed

Linux文件处理三剑客详解-grep,sed,awk grep 是一个强大的命令行工具,用于在文本文件中搜索指定的模式。它能使用特定模式匹配(包括正则表达式)搜索文本,并默认输出匹配行。需要注意的是,grep会将匹配到的整行输出,而awk可以指定某一行某一列进行输出。日志分析和文本处理,grep可以从日志文件中找出错误信息或特定事件,也用于从大量文本文件中提取特定信息sed是编辑之剑:一个流编辑器,它允许用户在文件中进行文本替换、删除、添加等操作。sed支持基础和扩展的正则表达式,并提供了丰富的文本处理功能,如替换命令、地址定界等。 阅读详情

sed
1.sed

1.1认识sed

sed 是一种流编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(patternspace ),接着用sed 命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。然后读入下行,执行下一个循环。如果没有使诸如‘D’ 的特殊命令,那会在两个循环之间清空模式空间,但不会清空保留空间。这样不断重复,直到文件末尾。文件内容并没有改变,除非你使用重定向存储输出或-i。
  功能:主要用来自动编辑一个或多个文件, 简化对文件的反复操作

1.2使用sed

1.2.1 常用选项options

-n:不输出模式空间内容到屏幕,即不自动打印,只打印匹配到的行
-e:多点编辑,对每行处理时,可以有多个Script
-f:把Script写到文件当中,在执行sed时-f 指定文件路径,如果是多个Script,换行写
-r:支持扩展的正则表达式
-i:直接将处理的结果写入文件
-i.bak:在将处理的结果写入文件之前备份一份

1.2.2地址定界

  • 不给地址:对全文进行处理

  • 单地址:

      。 #: 指定的行
      。 /pattern/:被此处模式所能够匹配到的每一行
    
  • 地址范围:
    。 #,#
    。 #,+#
    。 /pat1/,/pat2/
    。 #,/pat1/

  • ~:步进

    。sed -n ‘1~2p’ 只打印奇数行 (1~2 从第1行,一次加2行)
    。sed -n ‘2~2p’ 只打印偶数行

1.2.3 编辑命令command

d:删除模式空间匹配的行,并立即启用下一轮循环
p:打印当前模式空间内容,追加到默认输出之后
a:在指定行后面追加文本,支持使用\n实现多行追加
i:在行前面插入文本,支持使用\n实现多行追加
c:替换行为单行或多行文本,支持使用\n实现多行追加
w:保存模式匹配的行至指定文件
r:读取指定文件的文本至模式空间中匹配到的行后
=:为模式空间中的行打印行号
!:模式空间中匹配行取反处理
s///:查找替换,支持使用其它分隔符,如:s@@@,s###;

加g表示行内全局替换;
在替换时,可以加一下命令,实现大小写转换
\l:把下个字符转换成小写。
\L:把replacement字母转换成小写,直到\U或\E出现。
\u:把下个字符转换成大写。
\U:把replacement字母转换成大写,直到\L或\E出现。
\E:停止以\L或\U开始的大小写转换

1.3 sed用法演示

1.3.1 常用选项options演示

1.[root@along ~]# cat demo
2.aaa
3.bbbb
4.AABBCCDD
5.[root@along ~]# sed “/aaa/p” demo #匹配到的行会打印一遍,不匹配的行也会打印
6.aaa
7.aaa
8.bbbb
9.AABBCCDD
10.[root@along ~]# sed -n “/aaa/p” demo #-n不显示没匹配的行
11.aaa
12.[root@along ~]# sed -e “s/a/A/” -e “s/b/B/” demo #-e多点编辑
13.Aaa
14.Bbbb
15.AABBCCDD
16.[root@along ~]# cat sedscript.txt
17.s/A/a/g
18.[root@along ~]# sed -f sedscript.txt demo #-f使用文件处理
19.aaa
20.bbbb
21.aaBBCCDD
22.[root@along ~]# sed -i.bak “s/a/A/g” demo #-i直接对文件进行处理
23.[root@along ~]# cat demo
24.AAA
25.bbbb
26.AABBCCDD
27.[root@along ~]# cat demo.bak
28.aaa
29.bbbb
30.AABBCCDD

linux三剑客grep、sed、awk ^d/{sum+=$5} END{print "total size is:",int(sum/1024),"KB"}' //int是取整的意思。{print $1} //效果与awk -F":" '{print $1}'相同,只是分隔符使用FS在代码自身中指定。awk 'BEGIN{print "第1列","第2列"} {print $1,$2}' 1.sh。awk '{print NF}' 1.sh 输出每行有多少字段。 阅读详情

相关推荐

Linux 三剑客 (grep、sed、awk)

linux三剑客一、Linux grep命令详解二、Linux sed命令完全攻略三、Linux awk命令详解 一、Linux grep命令详解 很多时候,我们并不需要列出文件的全部内容,而是从文件中找到包含指定信息的那些行,要实现这个目的,可以使用 grep 命令。 grep 命令作为 Linux 文本处理三剑客的一员,另外两个是 sed 和 awk,它们会在后续章节中作详细介绍。 grep 命令的由来可以追溯到 UNIX 诞生的早期,在 UNIX 系统中,搜索的模式(patterns)被称为正则表达式

weixin_46575363的博客 2756

Linux四剑客之sed

sed是一种流编辑器,主要用于文本处理,能够完美的配合正则表达式使用。处理时,把当前处理的行存储在临时缓冲区,成为"模式空间"

Kind_GC的博客 260

使用VIVADO 2019.1 搭建以太网接口

以太网 MAC+SGMII->GMII接口转换 以FPGA V7为例,搭建一个千兆以太网接口。运行环境为Vivado2019.1。板卡的FPGA V7与千兆网口芯片采用SGMII互联,最终实现FPGA与上位机之间的千兆网卡通信,实际实现时,V7采用MAC + GMII ->SGMII的结构。SGMII接口使用1G/2.5G Ethernet PCS/PMA or SGMII ip核,MAC层使用Tri Mode Ethernet MAC ip核。 由于MAC层IP不支持SGMII接口,因此需要G

qq_44641513的博客 8414

Linux三剑客(grep、awk和sed)操作及与管道结合使用

Linux三剑客grep、sed、awk的基本格式和常用命令,与管道结合的复杂使用

明静致远 4563

Langfuse落地教程:从Docker部署到项目接入,掌控LLM调用链路

大模型应用开发中,调用链路的透明度直接决定调试效率与成本控制。可观测性技术通过记录每次请求的输入、输出、模型参数与Token消耗,帮助开发者快速定位问题。Langfuse作为开源LLM可观测性平台,将Trace、Prompt版本管理、评分等能力集成于一体,支持Docker Compose自托管部署,并提供Python/JS SDK与REST API。借助部署后的控制台,团队能够直观追踪RAG检索、Agent工具调用等复杂流程中的每一步耗时与资源占用,实现从黑盒调用到全链路可视化的转变。无论是本地调试、线上排

weixin_29698641的博客 308

MFC C++ 中实现跨平台(WindowsLinux)的远程桌面控制

**输入捕获**:在显示窗口中捕获鼠标/键盘事件(重写 `OnLButtonDown`、`OnMouseMove`、`OnKeyDown` 等),将事件坐标/键值通过网络发送到服务端。- **显示窗口**:使用 `CStatic` 或自定义 `CWnd` 派生类显示远程桌面图像(通过 `StretchDIBits` 绘制解压后的像素数据)。// 转换为相对坐标。- **Wayland 支持**:需使用 `libweston` 或 `xdg-desktop-portal`,较复杂,建议优先支持 X11。

寒寒豆豆软件公司的博客 155

Linux文本处理三剑客之sed命令

sed 是文本处理中非常好用的工具,能够完美的配合正则表达式,主要用来自动编辑一个或多个文件,可将数据进行替换、删除、新增、选取特定行等操作,从而简化对文件的反复操作,编写转换程序等。处理时,先把当前处理的行存储在临时缓冲区中(模式空间),接着用 sed 命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。然后,处理下一行,这样不断重复,直到文件处理结束。sed [参数选项] 操作。

qq_64989514的博客 1131

在时间轴上联动多张内表:ABAP 的 PROVIDE ... ENDPROVIDE 区间联动迭代实战

PROVIDE 是 ABAP 中处理有效期区间数据的强大工具,它能自动将多张内表按时间维度切片并联合处理。其核心功能包括:指定区间边界字段(BOUNDS),定义外部总区间(BETWEEN),并通过工作区和标志位(VALID)标识每张表在当前子区间是否生效。该语法特别适合 HR 信息类型等有效期数据,能避免手动处理区间重叠、排序和空档等问题。使用时需注意字段投影(FIELDS)限制、工作区只读原则,以及异常处理(如区间重叠或未排序)。典型应用场景包括员工调岗记录、价格有效期管理等需要时间轴联动的业务逻辑。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1670

Linux相关命令用法篇一之指令四剑客

整理linux常用指令,会不定时更新

原来是多呀多啊 805

【WRF安装】WRF编译错误:problems building executables look for error in the build log

WRF编译错误:problems building executables look for error in the build log

WW、forever的博客 752

使用GitLab限制开发者使用CI/CD的权限,三种方案

使用三种方案来限制开发人员的CI/CD权限。

知无涯 5095

Linux7.6 学习笔记 第十一章:Linux中的三剑客

cut,sort,wc,grep,sed,awk

qq_45794091的博客 1420

【2025最新版】Open3D 区域生长分割(python详细过程版)

点云区域生长分割算法的python详细过程版实现。博客长期更新,本文最新更新时间为:2025年3月23日。

点云侠的博客 9529

Linux四剑客find、sed、grep、awk教程

find:查找文件 find /path/ -name "filename" 在path路径及其子目录内查找filename find /path/ -name "filename" -type f 查找类型过滤:f-文件,d-目录 find /path/ -name "filename" -mtime -1 查找过滤一天以内的文件, ...

HumanpieceY的博客 401

基于电阻分压 + 电压跟随器的直流母线电压采样电路

摘要:本文介绍了一种基于电阻分压和电压跟随器的直流母线电压采样电路设计。该电路通过R38(240kΩ)和R41(20kΩ)组成的分压网络将高电压(如48V)降至3V,再经GS8331运放构成的电压跟随器进行隔离缓冲,最后通过RC滤波输出给ADC采集。重点分析了关键元件的选型要求:分压电阻需高精度、低温度系数;运放需高输入阻抗、低失调电压;滤波电容需稳定性好。该设计适用于工业电源、新能源BMS、变频器等需要高精度电压采样的应用场景。

qq_37999850的博客 889

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

Linux三剑客 grep sed awk 详细使用方法

Linux中最重要的三个命令在业界被称为“三剑客”,它们是awk,sed,grep。 我们现在知道Linux下一切皆文件,对Linux的操作就是对文件的处理,那么怎么能更好的处理文件呢?这就要用到我们上面的三剑客命令。 在说这三个命令前我们要插入一个小插曲就是“正则表达式”。 一、正则表达式 所谓的正则表达式我个人理解就是正规的表示方法。他是用简单的方法来实...

vanvan_的博客 3万+

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

Linux三剑客——grep、awk、sed命令基本使用教程

目录一、前言1.1 Linux三剑客1.2 正则表达式二、grep命令三、awk命令四、sed命令五、写在最后 一、前言 1.1 Linux三剑客 1.2 正则表达式   在使用这三个命令中,基本都是以正则表达式为基础。在Linux中,正则表达式可以分为基本表达式和扩展表达式。 基本表达式^表示开头 $表示结尾 []表示任意匹配项 *表示0个或多个 .表示任意字符 扩展表达式?表示非贪婪匹配 + 表示一个或多个 () 表示分组 {} 表示一个范围的约束 | 表示匹配多个表达式中的

一个Tester的博客 1万+

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

精雕软件(JDpaint) 5.5 绿色版

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

Linux四剑客详解——sed

今天继续给大家介绍Linux基础知识,本文主要内容是Linux四剑客——sed。 一、sed命令使用和参数 sed是一种流编辑器,可以对文本进行增删查改等操作,我们常使用sed对文件的指定内容进行批量替换。在sed命令的使用中,要特别注意的是sed拥有缓冲区,因此sed对文件的修改实际上是对缓冲区中的文件副本的修改,文件本身并没有改变,除非显式的将缓冲区中的内容保存到文件中。sed比较类似于offfice的保存机制。 sed命令常用参数如下: -f 后面跟一个文本文件,表示将文本文件的内容作为sed命令的后

永远是少年 2523

linux三剑客之sed命令详解

linux三剑客之sed命令详解 上篇文章讲的是文本过滤工具grep linux三剑客之grep命令详解,今天继续讲一下linux三剑客之文本编辑工具sed。 sed 是一种新型的,非交互式的编辑器,它能执行与编辑器 vi 相同的编辑任务。sed 编辑器没有提供交互式使用方式,使用者只能在命令行输入编辑命令、指定文件名,然后在屏幕上查看输出。 sed 编辑器没有破坏性,它不会修改源文件,而是将源文件拷贝一份放在操作空间中,然后对操作空间中的副本进行操作,可以使用重定向符号将结果输出到指定文件或者使用-i参数

qq_43382735的博客 1365

Linux三剑客(grep、awk、sed)

Linux三剑客及使用介绍 Linux 三剑客是(grep,sed,awk)三者的简称,他们通常结合正则一起使用。 grep擅长查找,sed擅长修改文件。awk擅长取列。 一、正则表达式 正则表达式:REGular EXPression, REGEXP 元字符:所谓元字符就是指那些在正则表达式中具有特殊意义的专用字符 元字符 功能 . 匹配任意单个字符 * X* 匹配0或多个X字符 + X+ 匹配至少1个X字符 .* 匹配任意多个字符 ^ 匹配首行 $ 匹配行尾 ^

zheou的博客 6222

Linux shell四剑客之sed

四剑客之sed 格式:sed [-nefri] [动作] 其中n/e/f/r/i 动作有a,i,c,p,s -n 默认把sed命令执行的结果,与原来的数据一起输出到屏幕,如果加了-n,则只显示sed处理后的内容 sed -n ‘1p’ sed.txt a 在匹配的当前行的后面添加内容,add sed ‘/Simple/ahelloworld’ sed.txt world后面有符号/则会...

weixin_44160188的博客 359

Linux文本处理三剑客grep,sed,awk

linux文本处理三剑客grep,sed,awk

weixin_73388622的博客 1484

Linux文本三剑客超详细教程---grep、sed、awk

Linux文本三剑客超详细教程---grep、sed、awk   awk、grep、sed是linux操作文本的三大利器,合称文本三剑客,也是必须掌握的linux命令之一。三者的功能都是处理文本,但侧重点各不相同,其中属awk功能最强大,但也最复杂。grep更适合单纯的查找或匹配文本,sed更适合编辑匹配到的文本,awk更适合格式化文本,对文本进行较复杂格式处理。 1、grep 1.1什么是grep和egrep   Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,.

会哭的雨@的博客 1178

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

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

It_BeeCoder的博客 1582

Linux 文本三剑客(grep, awk, sed)

awk:域分割,用于特定列筛选,用于比较两份文件的异同 grep: 过滤ls的文件,匹配文本的内容 sed:处理字符的增删改 内容涉及正则表达式,另外,每个命令都有若干模式参数,了解基本用法,必要时查阅help,做到不求甚解就好。

Russellfan的博客 2966

【命令操作】Linux三剑客之sed详解 _ 统信 _ 麒麟 _ 方德

Hello,大家好啊!今天带来一篇关于Linux三剑客之sed命令详解的文章。sed是一款功能强大的流编辑器,它可以在命令行中快速处理文本,支持替换、插入、删除等操作,特别适合用于处理大型文件或批量文本处理任务。

鹏大圣运维 1253
上一篇: Linux四剑客详解教程-grep
下一篇: Linux四剑客详解教程-awk
Linuxzyf
博客等级 码龄8年 0粉丝 18原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值