当前位置: 首页 > 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中进一步加强了…...

LingBot-Depth部署避坑指南:常见问题与解决方案汇总

LingBot-Depth部署避坑指南&#xff1a;常见问题与解决方案汇总 1. 引言&#xff1a;为什么需要这份指南 当你第一次尝试部署LingBot-Depth时&#xff0c;可能会遇到各种意想不到的问题——从模型下载失败到GPU内存不足&#xff0c;从端口冲突到奇怪的输出结果。这些问题往往…...

Mac能够连接校园网,但是无法上网

Mac电脑能够正常连接校园网&#xff0c;但是无法上网解决步骤&#xff1a;打开系统设置&#xff0c;网络&#xff0c;WI-FI&#xff0c;DNS把现有的删掉重置它。原因分析&#xff1a;应该是在使用代理时、访问什么网站被自动篡改了 DNS 设置&#xff0c;导致连接的 DNS 无法解析…...

OpenClaw多模型切换实战:百川2-13B量化版与Qwen3-32B对比测试

OpenClaw多模型切换实战&#xff1a;百川2-13B量化版与Qwen3-32B对比测试 1. 为什么需要多模型切换&#xff1f; 去年夏天&#xff0c;当我第一次尝试用OpenClaw自动化处理日常工作时&#xff0c;发现一个有趣的现象&#xff1a;80%的简单任务&#xff08;如文件重命名、邮件…...

7个高级配置技巧:打造极致Markdown预览体验

7个高级配置技巧&#xff1a;打造极致Markdown预览体验 【免费下载链接】vscode-markdown-preview-enhanced One of the "BEST" markdown preview extensions for Visual Studio Code 项目地址: https://gitcode.com/gh_mirrors/vs/vscode-markdown-preview-enhanc…...

Linux内核进程创建与调度机制详解

Linux内核进程创建机制深度解析&#xff1a;从fork到进程调度1. 进程创建概述在Linux操作系统中&#xff0c;进程创建是通过fork系统调用实现的。fork系统调用会创建一个与父进程几乎完全相同的子进程&#xff0c;包括代码段、数据段、堆栈等内存空间的复制。本文将深入分析Lin…...

图灵奖得主LeCun团队悄然引动世界模型革新!世界模型终于不崩了!48倍加速!15M参数单GPU端到端训练!自发涌现物理理解!

近日&#xff0c;杨立昆与其团队在新发布的论文《LeWorldModel&#xff1a;基于像素的稳定端到端联合嵌入预测架构》中&#xff0c;介绍了一种新的世界模型LeWorldModel(LeWM) &#xff0c;这一模型可以端到端的训练&#xff0c;无需任何技巧&#xff0c;同时拥有15M参数、能在…...

故障发现滞后、处置不及时引发的业务中断与数据风险,超自动化巡检帮您解决

在数字化业务高度依赖IT系统的今天&#xff0c;每一次故障发现滞后、每一次处置不及时&#xff0c;都可能引发连锁反应——从关键业务中断到核心数据泄露&#xff0c;损失往往远超预期。传统运维模式在应对现代复杂系统时已显疲态&#xff0c;而超自动化巡检正成为破解这一困局…...

隐私保护方案:OpenClaw+GLM-4.7-Flash本地化处理敏感数据

隐私保护方案&#xff1a;OpenClawGLM-4.7-Flash本地化处理敏感数据 1. 为什么需要本地化处理敏感数据&#xff1f; 去年我帮一位做财务咨询的朋友处理季度报表时&#xff0c;遇到了一个棘手问题。他需要分析上百份包含客户银行流水、身份证号等信息的Excel文件&#xff0c;但…...

实测2-5分钟:CogVideoX-2b生成速度与画质平衡的真实体验报告

实测2-5分钟&#xff1a;CogVideoX-2b生成速度与画质平衡的真实体验报告 1. 从文字到视频&#xff1a;CogVideoX-2b能做什么&#xff1f; 想象一下&#xff0c;你只需要输入一段文字描述&#xff0c;就能在几分钟内获得一段6秒的高清视频。这不是科幻电影里的场景&#xff0c…...

ffmpegGUI:让FFmpeg视频处理技术大众化的跨平台图形界面工具

ffmpegGUI&#xff1a;让FFmpeg视频处理技术大众化的跨平台图形界面工具 【免费下载链接】ffmpegGUI ffmpeg GUI 项目地址: https://gitcode.com/gh_mirrors/ff/ffmpegGUI ffmpegGUI是一款基于FFmpeg核心技术开发的跨平台图形界面工具&#xff0c;旨在消除视频处理的技术…...