首页 > 其他分享 >sed文本流式编辑器复习

sed文本流式编辑器复习

时间:2023-09-08 14:13:27浏览次数:40  
标签:流式 命令 编辑器 sed 字符串 test new txt

Linux持续学习者的实用命令:sed

原创 运维家 运维家 2023-09-03 16:00 发表于北京 收录于合集 #linux39个 #文本编辑器1个

图片

引言

作为一名Linux持续学习者,我们经常需要对文本内容进行处理或修改,这时候sed命令就能派上用场了。sed是一个强大的流式文本编辑器,它可以在读取文本时进行修改并输出,支持各种复杂的字符串替换、内容删除、行插入等操作。在本文中,我将为你介绍sed的基本使用方法和几个实用的例子,帮助你更好地处理文本文件。

什么是sed

sed是一个流式文本编辑器,它可以按照行处理文本,支持大量的文本操作功能,例如查找、替换、删除、插入、移动等。sed命令通常用于对文件内容的批量修改,或者用管道符将输出结果重定向到其他命令中进行处理。

sed的基本用法

sed的用法非常灵活,不同的操作需要使用不同的命令。sed的基本语法为:

sed 'command' filename

其中,command是一个或多个sed命令,可在单引号中使用,filename是待处理的文件名。

实例一:将文本文件中的字符串替换为其他内容

假设我们有一个文本文件 test.txt,其中包含了一些特定字符串,我们希望将这些字符串替换为其他的内容。可以使用sed命令来实现这个操作。

$ sed 's/old_string/new_string/g' test.txt > new_test.txt

以上命令中,s是sed命令中的替换命令,old_string是待替换的字符串,new_string是新的字符串,g表示替换所有匹配的字符串。该命令将会将test.txt中的旧字符串替换为新字符串,并输出到文件 new_test.txt 中。

实例二:在文本文件中插入一行或多行内容

假设我们有一个文本文件 test.txt,我们希望在其中插入一行或多行内容,可以使用sed命令来实现这个操作。例如,我们将要在文件中插入一行 "This is a new line.",命令如下:

$ sed '1 i\This is a new line.' test.txt > new_test.txt

以上命令中,i是insert命令中的插入命令,1表示从第一行开始插入,\表示要插入的内容。该命令将在test.txt文件的第一行插入 "This is a new line." 并输出到文件 new_test.txt 中。

实例三:删除文本文件中的某些行

假设我们有一个文本文件 test.txt,其中包含了一些我们不想要的行,我们希望删除这些行,可以使用sed命令来实现这个操作。例如,我们将要删除包含 "delete this line" 的行,命令如下:

$ sed '/delete this line/d' test.txt > new_test.txt

以上命令中,d是delete命令,/delete this line/表示要删除的行,该命令会将 "delete this line" 相关的行从test.txt中删除,并输出到新的文件 new_test.txt 中。

总结

在本文中,我向你介绍了Linux持续学习者的实用命令:sed,以及它的基本使用方法和几个实用的例子。sed命令可以大大地方便我们的文本处理工作,通过处理行,实现一系列字符串替换、插入、删除等操作。希望这些实用的例子能够帮助你更好地掌握sed的使用。

图片

欢迎关注【运维家】公众号,获取更多关于Linux和运维的实用干货!请记得关注并分享给你的小伙伴们哦!让我们一起在运维的世界里探索无限可能!

 

运维家

赞赏二维码稀罕作者

收录于合集 #linux  39个 上一篇Linux持续学习者的必备工具:文本处理神器awk下一篇高效使用grep命令,轻松搜索和匹配文本内容   阅读 1015 运维家   ​     关注后可发消息         复制搜一搜分享收藏划线  

标签:流式,命令,编辑器,sed,字符串,test,new,txt
From: https://www.cnblogs.com/cherishthepresent/p/17687406.html

相关文章

  • 信息: org.jbpm.JbpmException: closed JbpmContext in different order then they we
    刚接触jbpm 刚才遇到这个错误:closedJbpmContextindifferentorderthentheywerecreated...checkyourtry-finally'saroundJbpmContextsblocks我百思不得其解,网上说是hibernate的session没关闭,在搜索也就是javaeye那几个。查看了源代码有这句话:if(jbpmContext!=......
  • 正则表达式和sed
    casevarin  模式1|模式1-1)    command。。。    ;;  *)   command...    ;;esacfunction_name(){command...}functionfun_name(){command...}正则表达式:前导字符(位于元字符前的字符);元字符就是在正则里具有特殊含义的特殊字符.:匹配......
  • Unity 编辑器资源导入处理函数 OnPostprocessTexture :深入解析与实用案例
    Unity编辑器资源导入处理函数OnPostprocessTexture用法点击封面跳转下载页面简介在Unity中,我们可以使用编辑器资源导入处理函数(OnPostprocessTexture)来自定义处理纹理资源的导入过程。这个函数是继承自AssetPostprocessor类的,通过重写这个函数,我们可以在纹理资源导入完成......
  • Android官方资料--Block-Based OTAs
    Block-BasedOTAsINTHISDOCUMENTRecommendationsFilevs.BlockOTAsUpdatingunmodifiedsystemsUpdatingmodifiedsystemsYoucanenableblock-basedover-the-air(OTA)updatesfornewdevicesrunningAndroid5.0.OTAisthemechanismbywhichOEMsremote......
  • 论文精读:带有源标签自适应的半监督域适应(Semi-Supervised Domain Adaptation with Sou
    Semi-SupervisedDomainAdaptationwithSourceLabelAdaptation具有源标签适应的半监督域适应原文链接Abstract文章指出当前的半监督域适应(Semi-SupervisedDomainAdaptation,SSDA)方法通常是通过特征空间映射和伪标签分配将目标数据与标记的源数据对齐,然而,这种面向源数......
  • A Challenge Dataset and Effective Models for Aspect-Based Sentiment Analysis
    摘要基于方面的情感分析(ABSA)由于其广泛的应用,近年来受到了越来越多的关注。在现有的ABSA数据集中,大多数句子只包含一个或多个具有相同情感极性的方面,这使得ABSA任务退化为句子级情感分析。在本文中,我们提出了一个新的大规模多方面多情感(MAMS)数据集,其中每个句子至少包含两个具有不......
  • 如何在Vue项目中引入富文本编辑器(wang-enduit)
    介绍官网https://www.wangeditor.com/安装yarnadd@wangeditor/editornpminstall@wangeditor/editor--saveyarnadd@wangeditor/editor-for-vue@nextnpminstall@wangeditor/editor-for-vue@next--save使用自定义上传图片,先转base64,转blob,上传服务器<divid="wa......
  • Web编辑器实现WORD粘贴图片自动上传
    ​ 这种方法是servlet,编写好在web.xml里配置servlet-class和servlet-mapping即可使用后台(服务端)java服务代码:(上传至ROOT/lqxcPics文件夹下)<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%><%@     page contentType="text/html;cha......
  • Java Socket IO流关闭问题: Exception in thread "main" java.net.SocketException: S
    先说结论问题:明明执行的语句在socket.close前,却出现Exceptioninthread"main"java.net.SocketException:Socketisclosed报错结论:在Java中关闭一个包装流会导致它的底层流也被关闭所以一般使用socket.shutdownOutput()或socket.shutdownInput()关闭对应的流问题复现......
  • • • ​​​​ 目录​ • shell命令概述 • 获得命令帮助 • Linux命令行的格式 •
    shell命令概述Shell作用:命令解释器介于操作系统内核与用户之间,负责解释命令行获得命令帮助内部命令help命令的“--help”选项使用man命令阅读手册页命令行编辑的几个辅助操作Tab键:自动补齐反斜杠“\”:强制换行快捷键Ctrl+U:清空至行首快捷键Ctrl+K:清空至行尾快捷键Ctr......