文本三剑客之~~~sed命令

news2025/2/27 23:05:20

目录

  • sed概念
    • sed 的工作流程:
    • 命令格式:
      • 常用选项:
      • 常用操作:
  • 示例:
    • 打印
    • 删除
    • 替换:
    • 插入:
    • 剪切
    • 复制
    • 将字符替换位置

sed概念

sed是一种流编辑器,流编辑器会在编辑器处理数据之前基于预先提供的一组规则来编辑数据流。
sed编辑器可以根据命令来处理数据流中的数据,这些命令要么从命令行中输入,要么存储在一个命令文本文件中。

sed 的工作流程:

包括读取,执行和显示三个过程

  • 读取:sed从输入流(文件,管道,标准输入)中读取一行内容并存储到临时的缓冲区中(又称模式空间,patterb space)。
  • 执行:默认情况下,所有的sed命令都在模式空间中顺序的执行,除非指定了行的地址,否则sed命令会将所有的行上依次执行
  • 显示:发送修改后的内容到输出流,在发送数据后,模式空间会被清空,在所有的文件内容都被处理完成之前,上述过程将重复执行,直到所有内容被处理完毕。

在所有的文件内容都被处理完成之前,上述过程将重复执行,直到所有内容处理完。

注意:默认情况下所有的sed命令都是在模式空间中执行的,因此输入的文件并不会发生改变,除非是用重定向存储输出。

命令格式:

sed -n “操作” 文件一 文件二
sed -n -e “操作” 文件一 文件二
sed -f 脚本文件 文件一 文件二
sed -i -e “操作” 文件一 文件二

常用选项:

选项作用
-e:使用指定命令来处理输入的文本文件,只有一个操作命令时可以省略,一般在执行多个操作命令使用
-f:表使用指定的脚本文件来处理输入的文本文件
-h:显示帮助
-n :禁止sed编辑器输出,但可以与p命令一起使用完成输出
-i :直接修改目标文本文件

常用操作:

选项作用
s :替换, 替换指定的字符
d :删除,删除选定的行
a :增加,在当前行下面增加一行指定内容
i :插入,在当前行上面增加一行指定内容
c :替换,将选定行替换为指定内容
y :字符转换,转换前后的字符长度必须相同

示例:

打印

在这里插入图片描述‘=’ 打印行号
在这里插入图片描述‘l’ (小写的L)打印数据流中文本喝不可打印的ASCII字符(比如结束符$,制表符\t)

在这里插入图片描述
扩展:使用两个命令时表示方法
方法一:
在这里插入图片描述方法二:
在这里插入图片描述
方法三:

在这里插入图片描述

使用地址:
sed编辑器有两种寻址方式:

  1. 以数字形式表示行区间
  2. 用文本模式来过滤出行

示例: 打印出某一行的内容

在这里插入图片描述
在这里插入图片描述
打印前5行信息后自动退出,q代表退出

在这里插入图片描述

打印出奇偶数行,n表示移动到下一行

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述-r 表示支持扩展正则表达式

在这里插入图片描述

删除

示例:

在这里插入图片描述
删除空行
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

替换:

行范围 s/就字符串/新字符串/替换标记

4中替换标记

数字表明新字符串将替换第几处匹配的地方
g表明新字符串将会替换所有匹配的地方
p打印与替换命令匹配的行,与-n一起使用
w文件将替换的结果写到文件中

示例:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
调用脚本文件来处理文件

在这里插入图片描述在这里插入图片描述

将文件写入新的文件中

在这里插入图片描述

插入:

c进行 行替换
在这里插入图片描述
y将字符进行替换,一 一对应

在这里插入图片描述
a 在行的下面插入一个新行
在这里插入图片描述
i 在指定行的上面插入新行
在这里插入图片描述
r 调用文件将文件插入到行下面
在这里插入图片描述
H代表剪切,d代表删除,G代表粘贴
在这里插入图片描述

剪切

在这里插入图片描述

复制

在这里插入图片描述

将字符替换位置

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/521336.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Allegro加密PCB文件

写在前面: 记得以前不知道Allegro可以加密PCB文件的时候,就遇到了尴尬的事情。 其一:要发给别人layout文件,但是又怕别人外传,而且有关于公司文件保密的问题,其实这不论是公事还是私事,如果我…

软测人正在杀死软测行业

前言、一个软件做出来,最不能少的人是谁? 不用说就是开发,因为开发是最了解软件运作的那个人,早期不少一人撸网站或者APP的例子,相当于一个人同时是产品、研发、测试、运维等等,这也是为何开发是地位和上限…

如何一步一步构建网站ChatGPT插件

在本文中,我们将一步一步地探索并构建一个名为"AI Prompt Testing"的项目。该项目是一个网站插件,旨在帮助网站生成一个ChatGPT提示测试题,以巩固当前网页的内容。 1、抽象提取 这个网站ChatGPT插件大概的效果,类比的…

股票量价关系基础知识7----图解各阶段量价关系:价涨量缩

图解各阶段量价关系:价涨量缩 价涨量缩是指股价上涨,成交量却萎缩的一种价量背离走势。它通常反映上涨力道不足,预示股价可能反转向下。 一、上涨初期的价涨量缩 (一)形态分析 股价经过一轮下跌后止跌回升&#xff0c…

Redis中的缓存穿透、雪崩、击穿

概述: 缓存穿透:大量请求根本不存在的key, 应用服务器压力变大缓存雪崩:redis中大量key集体过期,数据库压力变大,服务器崩溃缓存击穿:redis中一个热点key过期(大量用户访问该热点ke…

【Linux】驱动学习,先啃框架

目录 前言: 一、驱动设计 (1)面向对象: (2)分层: (3)分离: 二、驱动框架 (1)传统框架 (2)总线设备驱…

四.从零开始JVM实战高手-JVM监控及线上问题定位

前言 Java程序员面试JVM几乎比问,对于JVM监控,线上OOM,CPU负载100%等问题也是经常被问到,尽管在企业中不一定轮得到我们去处理线上问题,但是不管是为了面试还是为了应对开发那么对于JVM线上问题处理都是必须要去了解的…

二、软件工程——Modeling

1.Undestanding Requirements System Engineering(系统工程) !!!Requirements Engieering(需求建模) 1.Inception(开始):(确认利益相关者) 2.…

164道网络安全工程师面试题(附答案)

为了更好地帮助大家高薪就业,今天就给大家分享两份网络安全工程师面试题,一共有164道面试真题,希望它们能够帮助大家在面试中,少走一些弯路、更快拿到offer! 93道网络安全面试题 1、什么是SQL注入攻击 2、什么是XSS…

Linux中的特殊进程:idle进程(0号进程)、init进程(1号进程,被systemd 取代 )、kthreadd进程(2号进程)

文章目录 1. Linux中的三个特殊进程:2. idle进程、init进程、kthreadd进程的创建3 kthreadd进程3.1 kthreadd进程的启动3.2 kthreadd进程创建子进程3.3 kthreadd的工作流程总结 4. init进程4.1 init进程的启动 4. 总结参考 1. Linux中的三个特殊进程: i…

【作者踩坑总结0错版】vscode配置codeql-MacBook(M1/M2芯片-arm)

文章目录 前言一、codeql是什么二、安装必备工具2.1、安装codeql-cli2.2、安装codeql仓库2.3、桌面新建文件夹2.4、安装vscode 三、配置codeql环境变量四、vscode配置codeql插件4.1、下载测试靶场4.2、生成数据库文件(最难最多bug)4.3、vscode配置ql数据…

[入门必看]数据结构5.3:二叉树的遍历和线索二叉树

[入门必看]数据结构5.3:二叉树的遍历和线索二叉树 第五章 树与二叉树5.3 二叉树的遍历和线索二叉树知识总览5.3.1_1 二叉树的先中后序遍历5.3.1_2 二叉树的层次遍历5.3.1_3 由遍历序列构造二叉树5.3.2_1 线索二叉树的概念5.3.2_2 二叉树的线索化5.3.2_3 在线索二叉树…

服务(第十九篇)mysql的备份和恢复

备份的类型: ①物理备份:备份数据库的物理文件,数据文件和日志文件; 冷备份:关闭数据库进行的; 热备份:数据库处于运行中状态,依赖于日志文件; 温备份:数…

Cisco NX-OS Software Release 10.3(3)F - 网络操作系统软件

Cisco NX-OS Software Release 10.3(3)F - 网络操作系统软件 请访问原文链接:https://sysin.org/blog/cisco-nx-os-10/,查看最新版。原创作品,转载请保留出处。 作者主页:sysin.org Cisco NX-OS Cisco NX-OS 操作系统助力网络紧…

Golang中map基础

目录 map类型 声明和初始化 元素操作 大小和容量 并发问题 实现原理 注意 map类型 Go语言中的map类型是一种key-value(键值对)结构,用于存储一组无序的数据,其中键是唯一的,值可以相同或者不同。在Go语言的程序…

button 设置外观

导入图片 设置拉伸 设置按钮的FlatStyle属性为Flat 设置透明背景

先到先得先学,2023最新国内大厂最新Java面试八股文总结

“铜三铁四”接近尾声,身边被迫“毕业”或者主动在这个时间点跳槽的大佬基本该找到工作的都找到工作了,找不到的也大多数都已经躺平了(手动狗头),只剩一群“45度人”(卷不动,躺不平的人&#xf…

用于跨中心多边形分割的任务相关特征补充

文章目录 Task-Relevant Feature Replenishment for Cross-Centre Polyp Segmentation摘要本文方法Domain-Invariant Feature Decomposition (DIFD)Task-Relevant Feature ReplenishmentPolyp-Aware Adversarial Learning (PAAL)总损失函数 结果 Task-Relevant Feature Repleni…

AI翻译工具分享

LanguageX简介 冠军翻译引擎交互式翻译,为专业译者而生的新一代译者工具 自2017年神经网络机器翻译流行以来,“机器翻译替代人工翻译”的观点屡见不鲜。作为一个技术和语言背景结合的团队,LanguageX认为语言服务是高度复杂、需要创意的智力活动,并肩负着人类沟通的重要使命。La…

机器学习之k-means聚类二、啤酒聚类实现

文章目录 一、环境开发说明二、基于前篇理论实现1. 数据说明2. 具体实现流程a. 对数据进行标准化处理b. 使用手肘法进行K值得选择c. 算法实现,d.将聚类结果进行可视化e. 计算轮廓系数f. 轮廓系数可视化 三、 文中的完整代码四、不调包实现五、参考文献 一、环境开发…