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

Sed编辑器

sed命令

sed使用单引号,双引号有特殊的解释

sed是Stream Editor的缩写,流编辑器

sed是操作、过滤和转换文本内容的强大工具

常用功能包括结合正则表达式对文件实现快速增删改查,其中查询的功能中最常用的两大功能是过滤(过 滤指定字符串)、取行(取出指定行)

常用的参数选项:

1.-n:取消默认sed的输出,常与sed内置命令-p一起使用

2. -i:直接将修改结果写入文件,不用-i,sed修改的是内存数据

3. -e:多次编辑,不需要管道符

4. -r:支持正则扩展

sed的内置命令字符 用于对文件进行不同的操作功能,如对文件增删改查

sed常用 内置命令字符:范围 操作 内容

内容范围 w 文件名

sed的内置命令字符

a:append,对文本追加,在指定行后面添加一行/多行文本

d:Delete,删除匹配行

i:insert,标识插入文本,在指定行前添加一行/多行文本

p:Print,打印匹配行的内容,通常p与-n一起用

s/查找的内容/替换的内容/g: 匹配正则内容,然后替换内容(支持正则),结尾g代表全局匹配

c:替换指定行

w:筛选的内容保存到文件

r:读取文件并追加

sed匹配范围

1.空地址:全文处理

2.单地址:指定文件某一行

3.范围地址:10,20 十到二十行,10,+5 第10行向下5行,/pattern1/,/pattern2/

4./pattern/:包含//中的内容的行

5.步长:1~2,标识1、3、5、7、9奇数行,2~2两个步长,标识2、4、6、8、10偶数行

基本的正则列表

扩展正则列表

假设我们表中有五行数据

使用-n可以显示一行到三行的数据 

如果只想显示带某个字母或者数字汉字的话可以使用过滤,这样可以只显示含有这个的字符串了

想要删除第几行到第几行的话可以使用d进行删除,想要删除带有L的行在下面第二个图(指定删除)

将文件中的Hello全部替换为His,如果想同时替换多个可以用-e来进行操作

在文件第二行追加内容a字符功能,写入到文件,还得添加-i,a后面就是添加的内容

添加多行信息,用换行符"\n"

在每一行下面插入新内容

在第二行上面插入内容

需要用到扩展正则时,需要加 -r选项         //把所有bash或nologin替换为xxxx 

认识sed工具的p,d,s条件命令

下面看看sed工具的d指令案例(自己提前生成一个a.txt文件)

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 【案例49】ORA-01000:超出打开游标的最大数
  • 基于SpringBoot+Vu e.js校园疫情防控系统的设计与实现
  • Visual Studio中 生成版本号
  • LeetCode //C - 316. Remove Duplicate Letters
  • Java-ByteArrayResource和InputStream
  • RabbitMQ的介绍
  • 深入理解 Go 语言原子内存操作
  • VS工程中的ALL_BUILD、INSTALL、ZERO_CHECK简介
  • NLP位置编码
  • vue3动态引入图片不显示问题
  • [Zer0pts2020]Can you guess it?1
  • python | 字符串编码问题怎么破
  • 在Ubuntu 14.04上安装LAMP【快速入门】
  • Spring Boot发送邮件带附件功能怎么实现?
  • Vim多文件操作
  • 《Java8实战》-第四章读书笔记(引入流Stream)
  • CSS选择器——伪元素选择器之处理父元素高度及外边距溢出
  • docker容器内的网络抓包
  • es6(二):字符串的扩展
  • HTML5新特性总结
  • Java 11 发布计划来了,已确定 3个 新特性!!
  • Rancher如何对接Ceph-RBD块存储
  • Redis在Web项目中的应用与实践
  • Web设计流程优化:网页效果图设计新思路
  • 阿里云应用高可用服务公测发布
  • 聊聊directory traversal attack
  • 那些被忽略的 JavaScript 数组方法细节
  • 思维导图—你不知道的JavaScript中卷
  • 源码之下无秘密 ── 做最好的 Netty 源码分析教程
  • 云大使推广中的常见热门问题
  • ​secrets --- 生成管理密码的安全随机数​
  • ​TypeScript都不会用,也敢说会前端?
  • "无招胜有招"nbsp;史上最全的互…
  • (Matlab)使用竞争神经网络实现数据聚类
  • (保姆级教程)Mysql中索引、触发器、存储过程、存储函数的概念、作用,以及如何使用索引、存储过程,代码操作演示
  • (十五)devops持续集成开发——jenkins流水线构建策略配置及触发器的使用
  • (五) 一起学 Unix 环境高级编程 (APUE) 之 进程环境
  • (心得)获取一个数二进制序列中所有的偶数位和奇数位, 分别输出二进制序列。
  • (一) storm的集群安装与配置
  • (转)IOS中获取各种文件的目录路径的方法
  • ***linux下安装xampp,XAMPP目录结构(阿里云安装xampp)
  • ./configure,make,make install的作用(转)
  • .bashrc在哪里,alias妙用
  • .CSS-hover 的解释
  • .NET 8 编写 LiteDB vs SQLite 数据库 CRUD 接口性能测试(准备篇)
  • .NET Framework .NET Core与 .NET 的区别
  • .NET Framework 3.5安装教程
  • .Net mvc总结
  • .NET开发人员必知的八个网站
  • /etc/apt/sources.list 和 /etc/apt/sources.list.d
  • /etc/fstab和/etc/mtab的区别
  • ??Nginx实现会话保持_Nginx会话保持与Redis的结合_Nginx实现四层负载均衡
  • @vueup/vue-quill使用quill-better-table报moduleClass is not a constructor
  • [ CTF ] WriteUp- 2022年第三届“网鼎杯”网络安全大赛(朱雀组)
  • [ vulhub漏洞复现篇 ] JBOSS AS 4.x以下反序列化远程代码执行漏洞CVE-2017-7504