当前位置: 首页 > news >正文

文本处理之sed

1、概述

sed是文本编辑器,作用是对文本的内容进行增删改查。

和vim不一样,sed是按行进行处理。

sed一次处理一行内容,处理完一行之后紧接着处理下一行,一直到文件的末尾

模式空间:临时储存,修改的结果临时保存的地方,不写入磁盘,文件的内容不会发生变化,展示完即删除。

写入:把修改写入到磁盘当中。

2、sed的选项  

选项说明
-e指定命令处理的文本文件,多个执行操作需要加上-e
-f高级脚本模式
-i修改目标文件,使之生效
-n显示script处理之后的结果

3、sed的操作符  

操作符说明
s替换,替换指定的字符串
d删除选定的行
a新增,在指定行的下面插入一条新的内容
i新增,在指定行的上面插入一条新的内容
c整行替换为指定的内容
y字符替换(转换前后的字符长度必须保持一致)
p打印
r支持扩展正则表达式(读取和输出)

所有的操作符最好用单引号引起来的,用双引号可能会有歧义

练习

  • sed的打印功能

 

  • sed的删除功能 

  • sed对文件内容进行替换

s只能对字符串,s/旧字符/新字符/操作符

g 把所有匹配标准的字符串全部替换,只在替换中生效

c 整行替换  /旧字符/c 新字符

y只能单个字符,且字符串长度要一致  y/旧字符/新字符/

  •  sed的插入和新增

a 新增 下一行

i 新增 上一行

r 读取然后写入

$a  把内容直接插入到文件的最后一行

$i   把内容直接插入到文件的最后一行和倒数第二行之间

$r  直接读取文件的内容,然后输出到目标文件的行尾

  • 脚本模式 

#f脚本模式,在第一个文件当中写好了替换的命令或者其他的sed操作,用第一个的脚本修改第二个文件

sed  -f  文件1  文件2 

  • 不删除文件,只清空文件的内容

sed  -i  'd'  文件名

cat    /dev/null   >   文件名

  • sed当中的字符串和字符位置的交换

  • 取出版本号

  • 查看指定时间内的所有日志

 sed  -n '/Nov 27 12:32:41/,/Nov 27 13:30:01/p'  /var/log/syslog #按时间查找

相关文章:

文本处理之sed

1、概述 sed是文本编辑器,作用是对文本的内容进行增删改查。 和vim不一样,sed是按行进行处理。 sed一次处理一行内容,处理完一行之后紧接着处理下一行,一直到文件的末尾 模式空间:临时储存,修改的结果临…...

uniapp在App端定义全局弹窗,当打开关闭弹窗会触发onShow、onHide生命周期怎么解决?

在uniapp(App端)中实现自定义弹框,可以通过创建一个透明页面来实现。点击进入当前页面时,页面背景会变透明,用户可以根据自己的需求进行自定义,最终效果类似于弹框。 遇到问题:当打开弹窗(进入弹窗页面)就会触发当前页…...

计算机网络 实验七 NAT配置实验

一、实验目的 通过本实验理解网络地址转换的原理和技术,掌握扩展NAT/NAPT设计、配置和测试。 二、实验原理 NAT配置实验的原理主要基于网络地址转换(NAT)技术,该技术用于将内部私有网络地址转换为外部公有网络地址,从…...

数据结构——排序算法第二幕(交换排序:冒泡排序、快速排序(三种版本) 归并排序:归并排序(分治))超详细!!!!

文章目录 前言一、交换排序1.1 冒泡排序1.2 快速排序1.2.1 hoare版本 快排1.2.2 挖坑法 快排1.2.3 lomuto前后指针 快排 二、归并排序总结 前言 继上篇学习了排序的前面两个部分:直接插入排序和选择排序 今天我们来学习排序中常用的交换排序以及非常稳定的归并排序 快排可是有多…...

【kafka04】消息队列与微服务之Kafka 图形工具

Kafka 在 ZooKeeper 里面的存储结构 topic 结构 /brokers/topics/[topic] partition结构 /brokers/topics/[topic]/partitions/[partitionId]/state broker信息 /brokers/ids/[o...N] 控制器 /controller 存储center controller中央控制器所在kafka broker的信息 消费者 /c…...

剖析前后端 API 接口参数设计:JSON 数据结构化全攻略

在当今软件开发领域,前后端分离架构已成为主流趋势。而 API 接口作为前后端之间数据交互的桥梁,其设计的合理性对系统的可维护性和扩展性起着至关重要的作用。JSON(JavaScript Object Notation)作为一种轻量级的数据交换格式&…...

vue3 多种方式接受props,定义ref,reactive

定义props 1 第一种 interface AddType { dialogStudyVisible: boolean; } const props defineProps<AddType>(); 第二种 // const props defineProps({ // dialogStudyVisible:{ // type:Boolean, // default:false // } // }) 第三种 // const …...

逻辑处理器核心指纹修改

navigator.hardwareConcurrency的属性,可以用来获取CPU的逻辑处理器核心数。 1、navigator.hardwareConcurrency接口定义&#xff1a; third_party\blink\renderer\core\frame\navigator_concurrent_hardware.idl // https://html.spec.whatwg.org/C/#navigator.hardwarecon…...

如何制作项目网页

一、背景 许多论文里经常会有这样一句话Supplementary material can be found at https://hri-eu.github.io/Lami/&#xff0c;这个就是将论文中的内容或者补充视频放到一个网页上&#xff0c;以更好的展示他们的工作。因此&#xff0c;这里介绍下如何使用前人提供的模板制作我…...

mongodb/redis/neo4j 如何自己打造一个 web 数据库可视化客户端?

随笔 从千万粉丝“何同学”抄袭开源项目说起&#xff0c;为何纯技术死路一条&#xff1f; 数据源的统一与拆分 监控报警系统的指标、规则与执行闭环 我们的系统应该配置哪些监控报警项&#xff1f; 监控报警系统如何实现自监控? java 老矣&#xff0c;尚能饭否&#xff…...

1、正则表达式

grep匹配 grep用来过滤文本内容&#xff0c;以匹配要查询的结果。 grep root /etc/passwd&#xff1a;匹配包含root的行 -m 数字&#xff1a;匹配几次后停止 -v&#xff1a;取反-i&#xff1a;忽略字符的大小写&#xff0c;默认的&#xff0c;可以不加-n&#xff1a…...

Airsim安装问题:This project was made with a different version of the Unreal Engine.

本文记录如何在 Ubuntu 18.04 系统中配置 AirSim 和 Unreal Engine 4.27&#xff0c;并成功打开默认的 Blocks 环境项目。 环境说明 系统&#xff1a;Ubuntu 18.04Unreal Engine 版本&#xff1a;4.27AirSim&#xff1a;主分支文件路径&#xff1a; Unreal Engine&#xff1a…...

java八股-分布式服务的接口幂等性如何设计?

文章目录 接口幂等token Redis分布式锁 原文视频链接&#xff1a;讲解的流程特别清晰&#xff0c;易懂&#xff0c;收获巨大 【新版Java面试专题视频教程&#xff0c;java八股文面试全套真题深度详解&#xff08;含大厂高频面试真题&#xff09;】 https://www.bilibili.com/…...

vscode python code runner执行乱码

打开vscode code runner插件配置&#xff0c;如图所示&#xff1a; 然后在setting.json修改运行python的默认命令&#xff1a; 将原来 替换成 "python":"set PYTHONIOENCODINGutf8 && python", 参考&#xff1a;Vscode——python环境输出中文乱…...

Java中的继承详解

在Java编程中&#xff0c;继承&#xff08;Inheritance&#xff09;是一种面向对象编程&#xff08;OOP&#xff09;的核心概念&#xff0c;它允许一个类&#xff08;称为子类或派生类&#xff09;继承另一个类&#xff08;称为父类或基类&#xff09;的属性和方法。通过继承&a…...

kafka进阶_2.存储消息

文章目录 一、存储消息介绍二、副本同步2.1、数据一致性2.2、HW在副本之间的传递 如果想了解kafka基础架构和生产者架构可以参考 kafka基础和 Kafka进阶_1.生产消息。 一、存储消息介绍 数据已经由生产者Producer发送给Kafka集群&#xff0c;当Kafka接收到数据后&#xff0c…...

如何启用本机GPU硬件加速猿大师播放器网页同时播放多路RTSP H.265 1080P高清摄像头RTSP视频流?

目前市面上主流播放RTSP视频流的方式是用服务器转码方案&#xff0c;这种方案的好处是兼容性更强&#xff0c;可以用于不同的平台&#xff0c;比如&#xff1a;Windows、Linux或者手机端&#xff0c;但是缺点也很明显&#xff1a;延迟高、播放高清或者同时播放多路视频视频容易…...

如何更好地设计SaaS系统架构

SaaS&#xff08;Software as a Service&#xff09;架构设计的核心目标是满足多租户需求、支持弹性扩展和高性能&#xff0c;同时保持低成本和高可靠性。一个成功的SaaS系统需要兼顾技术架构、资源利用、用户体验和商业目标。本文从以下几个方面探讨如何更好地设计SaaS系统架构…...

表征对齐在训练DiT模型中的重要性

Diffusion Models专栏文章汇总&#xff1a;入门与实战 前言&#xff1a;训练过DiT模型的读者们肯定有所体会&#xff0c;相比于UNet模型训练难度大了很多&#xff0c;模型不仅很难收敛&#xff0c;而且非常容易训崩&#xff0c;其中一个很重要的原因是没有进行表征对齐&#xf…...

Qt中CMakeLists.txt解释大全

‌Qt从Qt5.15版本开始正式推荐使用CMake进行项目管理‌。 在Qt 5.15之前&#xff0c;虽然可以使用CMake进行构建&#xff0c;但Qt官方更推荐使用qmake。 然而&#xff0c;从Qt5.15开始&#xff0c;Qt官方正式推荐使用CMake作为主要的构建系统&#xff0c;并在Qt 6中进一步加强了…...

告别调参焦虑!用Matlab Regression Learner App快速搞定你的第一个回归模型(附三维曲面拟合实战)

告别调参焦虑&#xff01;用Matlab Regression Learner App快速搞定你的第一个回归模型&#xff08;附三维曲面拟合实战&#xff09; 在科研和工程领域&#xff0c;数据建模是绕不开的核心技能。但传统建模流程往往令人望而生畏&#xff1a;从数据清洗到特征工程&#xff0c;从…...

CLion集成LVGL与SDL:打造高效嵌入式GUI模拟开发环境

1. 为什么需要CLionLVGLSDL组合&#xff1f; 如果你正在开发嵌入式设备的图形界面&#xff0c;肯定遇到过这样的困境&#xff1a;每次修改UI都要烧录到硬件上测试&#xff0c;一个简单的颜色调整可能要反复折腾十几分钟。我在开发智能手表项目时就深受其害&#xff0c;直到发现…...

个人健康助手为什么常常三天热度,留存问题到底出在哪

个人健康助手为什么常常三天热度&#xff0c;留存问题到底出在哪 个人健康助手类 App 很容易在冷启动阶段获得好奇心点击&#xff0c;但 3 天后打开率快速下降。本文不讨论诊断、治疗、分诊或用药建议&#xff0c;只从技术架构和工程流程角度分析&#xff1a;为什么回答质量不…...

别再死记硬背了!用GNS3/EVE-NG模拟BGP、OSPF、RIP混合组网,带你理解路由选路优先级

动态路由协议实战&#xff1a;用GNS3/EVE-NG解密BGP、OSPF、RIP选路逻辑 当你面对一个同时运行BGP、OSPF和RIP的复杂网络时&#xff0c;路由器究竟如何选择最佳路径&#xff1f;这个看似基础的问题&#xff0c;却让无数网络工程师在深夜排障时抓狂。传统教材中那些枯燥的AD值表…...

基于GitHub Actions打造自动化工作流:测试、构建、部署

从手工到自动化的测试交付变革在软件研发流程中&#xff0c;测试从来不是孤立环节。每一次代码提交&#xff0c;都可能触发一轮新的构建、部署与验证。传统模式下&#xff0c;测试人员往往需要等待开发手动打包、手动部署到测试环境&#xff0c;再通过人工触发或定时执行测试脚…...

短视频矩阵系统技术选型:从自研到 SaaS 的成本与收益分析

前言在短视频运营规模化的今天&#xff0c;几乎所有有一定规模的团队都面临着一个关键的技术决策&#xff1a;是自研矩阵管理系统&#xff0c;还是选择成熟的 SaaS 解决方案。很多团队在初期都会选择自研&#xff0c;认为这样可以更好地满足个性化需求&#xff0c;但最终往往陷…...

RO-ViT:区域感知预训练如何革新开放词汇目标检测

1. 项目概述&#xff1a;从“闭门造车”到“开箱即用”的视觉检测新范式在计算机视觉领域&#xff0c;目标检测一直是个硬骨头。传统的检测模型&#xff0c;比如我们熟悉的Faster R-CNN、YOLO系列&#xff0c;都遵循一个“闭集”范式&#xff1a;模型在训练时见过多少类物体&am…...

智能体元观察者技能:提升AI自主决策的监控与反思能力

1. 项目概述&#xff1a;一个面向智能体的“元观察者”技能最近在折腾智能体&#xff08;Agent&#xff09;开发&#xff0c;特别是那些需要长期运行、具备一定自主决策能力的应用时&#xff0c;发现一个普遍痛点&#xff1a;智能体在执行任务时&#xff0c;往往“埋头苦干”&a…...

终极CFP管理指南:developers.events如何帮助您提交演讲申请

终极CFP管理指南&#xff1a;developers.events如何帮助您提交演讲申请 【免费下载链接】developers-conferences-agenda developers.events is a community-driven platform listing developer/tech conferences and Calls for Papers (CFPs) worldwide with a list, a calend…...

避坑指南:Arduino驱动四位七段数码管时,SevSeg库配置与硬件接线的那些细节

Arduino四位七段数码管避坑实战&#xff1a;从乱码到稳定显示的进阶指南 当你兴奋地按照教程连接好Arduino和四位七段数码管&#xff0c;上传代码后却发现显示乱码、部分段不亮或者亮度不均——这可能是每个创客都会经历的"成人礼"。本文将带你深入SevSeg库的配置细节…...