sed简介

前沿数据解析 | 麻省理工-斯坦福-丰田研究中心电池数据集:AI驱动下的电池寿命早期预测 本文解析了麻省理工、斯坦福与丰田研究中心联合发布的电池数据集,展示了AI驱动下的电池寿命早期预测技术。通过分析124个商用锂离子电池的完整生命周期数据,研究团队仅用前100次循环数据即可准确预测电池报废时间,为电动汽车电池管理提供革命性解决方案。数据集包含LFP/石墨体系电池的详细测试记录,结合差分容量分析和梯度提升树模型,预测精度显著提升。 阅读详情

sed介绍

sed是Stream Editor(流编辑器)的缩写,简称流编辑器;用来处理文件的。

原理:

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

 

首先sed读取文件中的一行内容,把其保存在一个临时缓存区中(也称为模式空间)。

然后根据需求处理临时缓冲区中的行,完成后把该行发送到屏幕上。

总结:

由于sed把每一行都存在临时缓冲区中,对这个副本进行编辑,所以不会直接修改原文件。

sed的命令行使用

sed常见的语法格式有两种,一种叫命令行模式,另一种叫脚本模式。

命令行语法格式:

sed  [options]  '处理动作' 文件名

常用选项

 

常见处理动作

注意:以下所有的动作都要在单引号里 

动作

说明

‘p’

打印

‘i’

在指定行之前插入内容

‘a’

在指定行之后插入内容

‘c’

替换指定行的所有内容

‘d’

删除指定行

‘s’

查找并替换

练习:

文件准备

# vim a.txt

root:x:0:0:root:/root:/bin/bash

bin:x:1:1:bin:/bin:/sbin/nologin

daemon:x:2:2:daemon:/sbin:/sbin/nologin

adm:x:3:4:adm:/var/adm:/sbin/nologin

lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin

298374837483

172.16.0.254

10.1.1.1

打印操作

sed '' a.txt

对文件不做任何操作,直接打印

sed 'p' a.txt

文件中每行内容都被打印了两次

sed -n 'p' a.txt

模式空间中的内容不会被打印

sed -n '2p' a.txt

只打印第二行的内容

sed -n '1,5p' a.txt

打印1到5行

sed -n '$p' a.txt

打印最后一行

增加文件内容操作

i 指定位置上一行插入

a 指定位置下一行插入

sed '2ihelloworld' a.txt

在第2行的上一行插入helloworld

sed 'ihelloworld' a.txt

在每一行的上一行插入helloworld

sed '2ihello\nworld' a.txt

在第2行的上一行插入两行内容

sed '2ihello\

> world' a.txt

sed '2ahelloworld' a.txt

在第2行的下一行插入helloworld

sed '2,4ahelloworld' a.txt

在2到4的每一行插入helloworld

sed 'ahelloworld' a.txt

在每一行的下一行插入helloworld

修改文件内容操作

c 替换指定的整行内容

sed '$chello world' a.txt

把文件最后一行替换为hello world

sed '2chello world' a.txt

把文件第2行替换为hello world

sed '/^bin/c hello' a.txt

以bin开头的行替换为hello

sed 'c hello' a.txt

把每一行都替换为hello

sed '1,5c hello' a.txt

把1-5行的内容替换为一行hello

删除文件内容

sed '4d' a.txt

删除第4行

sed '1,4d' a.txt

删除1-4行

sed '/[0-9]/d' a.txt

删除带数字的行

sed -r '/([0-9]{1,3}\.){3}[0-9]/d' a.txt

使用扩展正则删除ip

sed '$d' a.txt

删除最后一行

对文件进行搜索替换

语法:sed 选项 's/搜索的内容/替换的内容/动作' 需要处理的文件

其中,s表示search搜索;斜杠/表示分隔符,可以自己定义;动作一般是打印p和全局替换g。

sed -n 's/root/ROOT/pg' a.txt

将文件中所有的root替换为ROOT

sed -n 's/^#//gp' a.txt

删除#号开头的行

sed -n 's#/bin/bash#ji xiang#pg' a.txt

使用#号也可以作为分割符

sed -n '10s#/sbin/nologin#jili#p' a.txt

指定行号进行替换

sed -n '1,5s/^/#/p' a.txt

在1-5行的开头加#号

sed -n 's/\(10.1.1\).1/\1.254/gp' a.txt

将10.1.1.1替换为10.1.1.254

sed的其他命令

 

sed '3r /etc/hosts' a.txt

将/etc/hosts中的内容添加到文件的第3行之后

sed 'r /etc/hosts' a.txt

将/etc/hosts中的内容添加到文件的每一行之后

sed '$r /etc/hosts' a.txt

将/etc/hosts中的内容添加到文件的最后一行之后

sed '1,5w b.txt' a.txt

把a.txt文件1-5行的内容保存到b.txt

sed -n '1,5s/adm/&in/gp' a.txt

在adm之后追加in,使用&表示匹配到的元素

sed -n '/sbin/=' a.txt

打印出包含关键字的行号

sed -n '1,5!p' a.txt

打印除了1-5以外的行

sed '/lp/q' a.txt

匹配到lp就退出

sed的其他选项

-e 多项编辑

-r 扩展正则

-i 修改原文件,注意:-ni 不要一起使用,p命令 不要在使用-i时使用

sed -ne '1p' -ne '5p' a.txt

打印第一行和打印第五行

sed -e '2d' -e '5ahello' a.txt

删除第二行和在第5行后加hello

sed -ne ‘2p;5p’ a.txt

打印第二行和打印第五行

sed -e ‘/^#/d’ -e ‘/^$/d’ a.txt

删除文件中的注释和空行

sed -e ‘/^#/d;/^$/d’ a.txt

删除文件中的注释和空行

sed -r ‘/^#|^$/d’ a.txt

删除文件中的注释和空行

sed -nr '/([0-9]{1,3}\.){3}[0-9]{1,3}/p' a.txt

grep -E '([0-9]{1,3}\.){3}[0-9]{1,3}' 1.txt

grep -o -E '([0-9]{1,3}\.){3}[0-9]{1,3}' 2.txt

打印文件中的ip地址

sed -i 's/root/ROOT/g' 11.txt

修改源文件中的root为ROOT

sed结合正则使用

 

sed -n '/^bin/,/^lp/p' a.txt

匹配以bin开头到lp开头的行

sed -n '/^bin/,/^lp/!p' a.txt

匹配除了以bin开头到lp开头的其他行

sed -n '/^bin/,4p' a.txt

匹配以bin开头到第4行

sed -rn '/^bin|^lp/p' a.txt

匹配以bin和lp开头的行

sed脚本模式

用法:sed -f scripts.sh  file

脚本的第一行写上

#!/bin/sed -f

1,5d

s/root/hello/g

3i777

5i888

a999

p

注意事项:

1) 脚本文件是一个sed的命令行清单。'commands'

2) 在每行的末尾不能有任何空格、制表符(tab)或其它文本。

3) 如果在一行中有多个命令,应该用分号分隔。

4) 不需要且不可用引号保护命令

5) #号开头的行为注释

举例说明:

数据准备:

vi 11.txt

stu3:x:509:512::/home/user3:/bin/bash

stu4:x:510:513::/home/user4:/bin/bash

stu5:x:511:514::/home/user5:/bin/bash

编辑sed脚本:

vi 1.sed

#!/bin/sed -f

3a**********************

$chelloworld

1,3s/^/#&/

执行:

sed -f 1.sed -i 11.txt

cat 11.txt

#stu3:x:509:512::/home/user3:/bin/bash

#stu4:x:510:513::/home/user4:/bin/bash

helloworld

**********************

别再只飞不记了!用CsvView分析你的大疆飞行日志,优化航拍与排查炸机原因 本文详细介绍了如何利用CsvView工具分析大疆无人机的飞行日志,帮助用户优化航拍效率和飞行安全。通过解读飞行日志中的关键数据,如电池性能、飞行轨迹等,用户可以及时发现潜在问题并改进飞行习惯。文章还提供了事故排查方法和进阶分析技巧,适合无人机爱好者和专业飞手。 阅读详情

相关推荐

BEVFusion实战:从零搭建LiDAR-Camera融合的3D目标检测环境(附避坑指南)

本文提供了BEVFusion实战指南,详细讲解如何从零搭建LiDAR-Camera融合的3D目标检测环境。内容涵盖环境配置、数据预处理、模型训练与性能优化等关键步骤,并附有实用的避坑技巧,帮助开发者高效部署这一先进的BEV感知算法。

p4q5r6s7t的博客 515

sed

sed命令 sed全名叫stream editor,流编辑器。用无交互式的方式来编辑文本。 我们知道,vim/vi 采用的是交互式文本编辑模式,你可以用键盘命令来交互性地插入、删除或替换数据中的文本。但本节要讲的 sed 命令不同,它采用的是流编辑模式,最明显的特点是,在sed 处理数据之前,需要预先提供一组规则,sed会按照此规则来编辑数据,实现无交互式编辑数据。 sed也是支持正则表达式的,如果要使用扩展正则加参数-r 2.1sed的执行过程 1、首先sed把当前正在处理的行保存在一个临时缓存区中(也称

qq_52592615的博客 174

5G移动性管理实战:手把手教你配置NR小区重选参数(附避坑指南)

本文深入解析5G网络移动性管理中的小区重选参数配置实战。通过拆解小区选择与重选的核心机制,结合真实案例,手把手指导如何配置NR小区重选参数,并分享常见避坑指南,帮助工程师优化网络性能,提升用户移动体验。

weixin_29229261的博客 200

sed -i.bak 备份加替换

sed -i.bak 备份加替换 sed -i.bak "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config

zuopiezia的博客 6010

《计算机科学概论(第13版)》5-12章

定序是按给定语句的顺序应用每个算法步骤。(primitive):建立一组定义明确的构建块,利用它们来构造和执行算法的表示。可以消除歧义,不会引起误解,就像咱们传统的自然语言(用英语来沟通交流)。(programming language):原语的集合以及说明如何组合这些原语来表示比较复杂的想法的规则集合。用程序设计语言描述的算法可以在计算机上执行。每个原语都有自己的语法和语义,语法指的是原语的符号表示,语义是指该原语的含义。伪代码:用户开发过程中非正式表达想法的符号系统。

输入知识,消化知识,输出知识,分享知识,教人让我学习更好,业精于勤荒于嬉,行成于思毁于随 1036

在VS2019里把JSBSim飞行模型集成到你的C++项目里(附完整配置流程和常见错误解决)

本文详细介绍了如何在Visual Studio 2019中将JSBSim飞行模型集成到C++项目中,包括环境准备、源码编译、项目配置和常见错误解决方案。通过实战技巧和优化建议,帮助开发者高效实现高精度飞行仿真功能,提升开发效率。

weixin_42620202的博客 413

sed命令

sed 命令

m0_75015568的博客 575

Proteus仿真实战:ADC0832时序解析与51单片机精准电压采集

本文详细解析了ADC0832模数转换芯片在Proteus仿真环境中的时序控制与51单片机驱动实现。通过实战代码示例和精度优化技巧,帮助开发者掌握电压采集的关键技术,包括时序配置、数据校验和噪声抑制等核心要点,提升嵌入式系统设计的精准度与可靠性。

weixin_29172963的博客 873

sed详解

文章目录一、什么是sed二、 sed和vim的区别三、作用四、定位( pattern过滤)五、 查操作六、 删操作七、 增加编辑命令1. 在指定行的后面添加信息2. 在指定行前插入信息八、修改文件信息2. 高级信息替换方式:后项引用前项内容3. 示例九、 应用9.1 分析Ansible主机清单9.2 分析mysql配置文件 一、什么是sed sed全称(stream editor)流式编辑器,Sed主要用来自动编辑一个或多个文件、简化对文件的反复操作、编写转换程序等,工作流程如下 sed 是一种在线的、

人丑就要多读书的博客 1万+

《大明王朝1566》中,朝廷财政危机无法解决的根源分析

财政困局中的财富最终流向三重黑洞:​皇室挥霍​(如嘉靖炼丹修殿)、特权阶层贪腐​(严党年入百万两盐税)、制度性损耗​(宗室供养、低效官僚)。更深层的“钱”其实是被禁锢在道德化治理的牢笼中——当国家用“黄河长江皆可为用”的权术思维替代制度性改革时,财政危机便成为帝制王朝无法逃脱的宿命。

为了小家奋斗 1977

【LLM技术全景】规模定律与模型演进:为什么模型越大越强?

规模定律性能 ∝ 参数量^N性能 ∝ 数据量^M性能 ∝ 计算量^L其中 N, M, L 是小于1的正数(通常0.05~0.15)关键观察损失与规模的关系呈幂律(不是线性,也不是对数)三个要素(参数、数据、计算)需要协调增长只增加其中一个要素,收益会边际递减规模定律(Scaling Law):1. 模型性能与参数量、数据量、计算量呈幂律关系2. Kaplan定律(2020):参数量是主要因素3. Chinchilla定律(2022):数据和参数同等重要,最优比例1:20。

专注:太空算力、AI infra、异构调度、大模型成本工程 496

Shell 编程三剑客之Sed

本文介绍了Sed的基本语法以及一些用法示例,还包括一些应用案例。

yunxi115的博客 379

Qwen2.5-VL多模态微调超参数深度解析(上):训练流程与优化策略的量化机制分析

上篇文章通过系统化的对比实验,回答了多模态微调中的三个基础问题:“选什么方法”(LoRA/Full/Freeze/OFT对比)、“用什么配置”(60+组超参数组合)、“达到什么效果”(ROUGE-L/BLEU-4指标)。这些结果为后续工作奠定了实验基线,但也留下了更深层的疑问:为何相同方法在不同数据集上表现迥异?为何某些超参数的微小调整会引发性能剧变?如何在未见过的任务上快速找到最优配置?本文是对前文实验数据的二次挖掘与机理解析。我们将关注点从"做了什么实验"转移到"实验揭示了什么规律",实验视角从"结果对

羊城迷鹿的博客 1007

sed 的简介

sed 是一种在线编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕sed使用参数选项与参数:-n :使用安静(silent)模式。在一般 sed 的用法中,所有来自 STDIN 的数据一般都会被列出到终端上。但如果加上 -n 参数后,则只有经过sed 特殊处理的那一行(或者动作)才会被列出来。-e :直接在命令列模式上进行 sed 的动作编辑;

237

Camera2Demo

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

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

Sed简介

点击打开链接 1. Sed简介 sed 是一种在线编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有 改变,除非你使用重定向存储输出。Sed主要用来自动编辑一个或多个文件;简化对文件的反复操作;

一世辛劳的专栏 505

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

sed 用法简介

<br />1. sed 命令简介<br />   Sed(a stream editor)是流线型、非交互式编辑器。它允许你执行与vi编辑器里一样的编辑任务。Sed 程序不是与编辑器交互式工作的,而是让你在命令行里敲入编辑的命令,给文件命名,然后在屏幕上查看命令输出结果。<br />2. sed 如何工作<br /> sed 编辑器按一次处理一行的方式来处理文件,并把输出送到屏幕上。<br />3. sed 可以用寻址的方式来决定想要编辑哪一行。<br />4. sed 命令和选项<br /> 选项

clozxy的专栏 1431

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

sed命令简介

sed处理时,有2个缓冲区:【pattern space】和【hold space】 sed执行过程: 先读入一行,去掉尾部换行符,存入【pattern space】,执行编辑命令。 处理完毕,除非加了-n参数,把现在的【pattern space】打印出来,在后边打印曾去掉的换行符。 把【pattern space】置空。 接着读下一行,处理下一行。 sed的默认输出:【pattern space】里的内容输出到标准输出。 常用选项: 【pattern space】里的内容不输出到标准输出:-...

qq_35382207的博客 435

sed 命令简介

1. sed 命令简介sed 是流线型、非交互式编辑器。它允许你执行与vi 和ex编辑器里一样的编辑任务。Sed 程序不是与编辑器交互式工作的,而是让你在命令行里敲入编辑的命令,给文件命名,然后在屏幕上查看命令输出结果。2. sed 如何工作sed 编辑器按一次处理一行的方式来处理文件,并把输出送到屏幕上。3. sed 可以用寻址的方式来决定想要编辑哪一行。4. sed 命令和

Jeffrey的专栏 711

sed基本用法简介

sed是stream editor, 也就是流编辑器, 实际上就是linux中的一个命令, 作用很强大。 搞linux开发的人, 不能不熟悉该命令, 否则, 何以立足于江湖呢? 在本文中, 我们来一起玩玩sed, 简要介绍其用法。 因为sed很强大, 所以难以一次介绍所有的内容。 以后遇到新的东东, 再往本博文中添加。 现在, 能学一点就是一点。 还是老规矩, 在理解的基础上, 大量练习和实践。以实践操作为荣, 以只看不练为耻。

认知 行动 坚持 1万+

sed 工具简介

sed工具全称为流式编辑器,它可以被使用作为行过滤器(顾名思义sed是按照行查找进行操作的),它的工作原理可以描述为:把前一个程序的输出引入到sed的输入,经过一系列编辑命令转换为另外一种格式输出。(形象的解释如下图所示) 以前学习到grep默认是在Basic模式下工作,这里的sed工具如grep一般,也是默认在Basic模式下工作,sed也支持正则表达式的使用,使用正则表达式是在"/"

woaimeinuo的专栏 2825

sed用法简介

正则表达式 (1)字符匹配 . :匹配任意单个字符 [] :匹配指定范围内的任意单个字符 [^] :匹配指定范围外的单个字符字符 (2)匹配次数 \? :匹配前面字符0|1次 .* :匹配任意长度任意字符 + :匹配前面字符1|多次 * :匹配前面字符任意次 {m,}:匹配前面字符至少m次 {m,n}:匹配前面字符 m-n 次 (3)位置锚定 ^ :行首锚定 $ :行尾锚定 ^$

chunlin 1099

Sed简介 如何做替换

1. Sed简介  sed 是一种在线编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有 改变,除非你使用重定向存储输出。Sed主要用来自动编辑一个或多个文件;简化对文件的反复操作;编写转换程序等。以下

Herr Apfel的专栏 1918

Sed 简介

1 sed简介 sed是面向流的行编辑器。所谓面向流,是指接受标准输入的输入,输出内容到标准输出上。sed编辑器逐行处理文件(或输入),并将结果发送到屏幕。 具体过程如下:sed将处理的行读入到一个临时缓存区中(也称为模式空间pattern space),sed中的命令依次执行,直到所有命令执行完毕,完成后把该行发送到屏幕上,清理pattern space中的内容;...

dengji8846的博客 175
上一篇: AWK简介
下一篇: Zookeeper简介
devilden
博客等级 码龄6年 6粉丝 6原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值