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

Linux命令200例:sed对文本进行修改、替换和删除等操作的强大工具(常用)

在这里插入图片描述

🏆作者简介,黑夜开发者,全栈领域新星创作者✌。CSDN专家博主,阿里云社区专家博主,2023年6月csdn上海赛道top4。
🏆数年电商行业从业经验,历任核心研发工程师,项目技术负责人。
🏆本文已收录于专栏:Linux命令大全。
🏆本专栏我们会通过具体的系统的命令讲解加上鲜活的实操案例对各个命令进行深入讲解。欢迎提前锁定关注。
🎉欢迎 👍点赞✍评论⭐收藏

文章目录

  • 一、什么是 Linux Sed 命令?
  • 二、如何使用 Linux Sed 命令?
  • 三、高频使用示例
    • 3.1 替换文本
    • 3.2 按行号替换指定行
    • 3.3 删除指定行
    • 3.4 查找并删除指定文本所在的行
    • 3.5 显示特定行之间的内容
    • 3.6 插入新行
    • 3.7 追加新行
    • 3.8 根据正则表达式匹配行,并替换其内容
    • 3.9 在指定行之前或之后添加文本
    • 3.10 多个编辑命令的组合
    • 3.11 使用正则表达式进行全局替换
    • 3.12 删除文件内容中的空白行
    • 3.13 打印指定行号的内容
    • 3.14 根据行号范围删除多行
    • 3.15 查找并替换指定行的内容
  • 四、总结


一、什么是 Linux Sed 命令?

Linux Sed(stream editor)命令是一种流式文本编辑器,用于对文本进行修改、替换和删除等操作。它可以读取输入的文本流,按照指定规则处理后输出结果,通常与管道命令一起使用。Sed是一个非交互式的命令行工具,可以批量处理大型文件,并使用简单的脚本语言进行编辑。

二、如何使用 Linux Sed 命令?

Sed 命令的基本语法为:

sed OPTIONS 'script' input_file(s)

其中,OPTIONS 是可选的参数,用于设置 Sed 的不同功能选项;script 是 Sed 脚本,用于指定 Sed 的操作命令;input_file(s) 是要处理的输入文件。如果未指定输入文件,则从标准输入读取数据。

Sed 命令可以根据需求来编辑文本,常用的操作命令包括查找和替换、删除指定行、插入和追加文本等。

以下是 15 个实际的例子,展示了 Sed 命令在不同场景下的使用方法。

三、高频使用示例

3.1 替换文本

sed 's/old_text/new_text/g' file.txt

将文件 file.txt 中所有的 “old_text” 替换为 “new_text”。

3.2 按行号替换指定行

sed '3s/old_text/new_text/g' file.txt

将文件 file.txt 的第 3 行中的 “old_text” 替换为 “new_text”。

3.3 删除指定行

sed '6d' file.txt

删除文件 file.txt 的第 6 行。

3.4 查找并删除指定文本所在的行

sed '/pattern/d' file.txt

删除文件 file.txt 中包含 “pattern” 的所有行。

3.5 显示特定行之间的内容

sed -n '2,5p' file.txt

显示文件 file.txt 中第 2 至第 5 行的内容。

3.6 插入新行

sed '3i\new_line' file.txt

在文件 file.txt 的第 3 行前插入新行 “new_line”。

3.7 追加新行

sed '3a\new_line' file.txt

在文件 file.txt 的第 3 行后追加新行 “new_line”。

3.8 根据正则表达式匹配行,并替换其内容

sed '/pattern/s/old_text/new_text/g' file.txt

在文件 file.txt 中,匹配包含 “pattern” 的行,并将行内的 “old_text” 替换为 “new_text”。

3.9 在指定行之前或之后添加文本

sed '/pattern/i\new_line' file.txt
sed '/pattern/a\new_line' file.txt

在文件 file.txt 中,找到匹配 “pattern” 的行,分别在其前面或后面添加新行 “new_line”。

3.10 多个编辑命令的组合

sed -e '2,5d' -e 's/old_text/new_text/g' file.txt

删除文件 file.txt 中第 2 至第 5 行,并将其余行中的 “old_text” 替换为 “new_text”。

3.11 使用正则表达式进行全局替换

sed 's/old_text/new_text/g' file.txt

将文件 file.txt 中所有的 “old_text” 替换为 “new_text”。

3.12 删除文件内容中的空白行

sed '/^\s*$/d' file.txt

删除文件 file.txt 中的空白行。

3.13 打印指定行号的内容

sed -n '3p' file.txt

打印文件 file.txt 的第 3 行内容。

3.14 根据行号范围删除多行

sed '3,6d' file.txt

删除文件 file.txt 中第 3 至第 6 行。

3.15 查找并替换指定行的内容

sed '5s/old_text/new_text/g' file.txt

将文件 file.txt 的第 5 行中的 “old_text” 替换为 “new_text”。

四、总结

Linux Sed 命令是一个功能强大的流式文本编辑器,可以方便地进行文本的查找、替换和删除等操作。通过熟练掌握 Sed 命令的使用方法,可以提高文本处理效率,并简化复杂的编辑任务。在实际应用中,可以根据具体需求灵活运用 Sed 命令,以达到预期的文本编辑效果。实际工作用,通过组合和修改这些命令,可以应对不同场景下的文本编辑需求。

相关文章:

Linux命令200例:sed对文本进行修改、替换和删除等操作的强大工具(常用)

🏆作者简介,黑夜开发者,全栈领域新星创作者✌。CSDN专家博主,阿里云社区专家博主,2023年6月csdn上海赛道top4。 🏆数年电商行业从业经验,历任核心研发工程师,项目技术负责人。 &…...

python 合并多个excel文件

使用 openpyxl 思路: 读取n个excel的文件,存储在一个二维数组中,注意需要转置。将二维数组的数据写入excel。 安装软件: pip install openpyxl源代码: import os import openpyxl # 将n个excel文件数据合并到一个…...

【Docker】性能测试监控平台搭建:InfluxDB+Grafana+Jmeter+cAdvisor

前言 在做性能测试时,如果有一个性能测试结果实时展示的页面,可以极大的提高我们对系统性能表现的掌握程度,进而提高我们的测试效率。但是我们每次打开Jmeter都会有几个硕大的字提示别用GUI模式进行负载测试,而且它自带的监视器效…...

wordpress日主题Ripro9.0最新二开修正源码下载+美化包和插件

日主题Ripro9.0最新二开升级修正源码美化包和插件,RiPro9.0的二开版本新模板,包含2个美化包和全屏水印以及防复制插件。 模板和美化包路径:\wp-content\themes 插件路径:\wp-content\plugins,有兴趣的自行去体验吧...

fib Model Code史海拾贝

文章目录 0. 背景1. 强度等级不一致(20230807)1.1 问题描述(20230807)1.2 问题探索 0. 背景 本文主要记录在学习了解ModelCode的过程中产生的问题。当然,主要是我个人认为有意思的地方。欢迎有共同兴趣的网友留言一起…...

6.7.tensorRT高级(1)-使用onnxruntime进行onnx模型推理过程

目录 前言1. python-ort2. C-ort总结 前言 杜老师推出的 tensorRT从零起步高性能部署 课程,之前有看过一遍,但是没有做笔记,很多东西也忘了。这次重新撸一遍,顺便记记笔记。 本次课程学习 tensorRT 高级-使用 onnxruntime 进行 on…...

360未来安全研究院笔试题

笔试时间:2020.04.16,15:00-17:30。 岗位:Linux 安全开发工程师(实习生) 题型: 能力测试——逻辑题(20个5分=100分) 专业测试——客观题(40个2分=80分) 专业测试——在线编程题(2个25分=50分) 逻辑题 一共40道题目,很多逻辑推断题,包含数字找规律和图片找…...

Linux SSH 远程连接主机,并执行命令

应用场景 当需要远程到另一台Linux上,并在另一台机器上执行 Shell 命令,则需要注意命令的书写格式 示例说明 远程到 192.158.157.47 机器上,并执行命令 cd /tmp && ./zabbixagent_install.sh && echo Success 1、错误方式…...

FAST协议详解1 不同数据类型的编码与解码

一、概述 FAST协议里不同的数据类型在编码时有非常大的区别,比如整数只需要将二进制数据转为十进制即可,而浮点数则需要先传小数点位数,再传一个整数,最后将二者结合起来才是最终结果。本篇使用openfast自设了一些数据并编码成FA…...

黑马大数据学习笔记5-案例

目录 需求分析背景介绍目标需求数据内容DBeaver连接到Hive建库建表加载数据 ETL数据清洗数据问题需求实现查看结果扩展 指标计算需求需求指标统计 可视化展示BIFineBI的介绍及安装FineBI配置数据源及数据准备 可视化展示 P73~77 https://www.bilibili.com/video/BV1WY4y197g7?…...

网络编程——TCP/IP协议族(IP协议、TCP协议和UDP协议……)

TCP/IP协议族 一、IP协议 1、IP协议简介 IP协议又称网际协议 特指为实现在一个相互连接的网络系统上从源地址到目的地传输数据包(互联网数据包)所提供必要功能的协议,是网络层中的协议。 2、特点 不可靠:它不能保证IP数据包能成功地到达它的目的地,仅…...

Oracle SQL存储过程能够返回表吗

使用Oracle游标返回表数据 在Oracle存储过程中,我们可以使用游标来返回表的数据。游标是一种类似于指针的数据类型,可以用来遍历和操作结果集。以下是一个示例的Oracle存储过程,通过游标返回表数据: CREATE OR REPLACE PROCEDUR…...

2 Vue使用v-bind来代替{{}}取值

注意!当两个具有共同id的标签都要从数据层拿值时,需要使用div标签,赋予他们共同的id,不然其中有一个会拿不到数据! v-bind用来绑定前标签的属性,然后对属性赋值。{{}}用来对前后标签中的文本赋值。使用方法…...

20230807在WIN10下使用python3将TXT文件转换为DOCX(在UTF8编码下转换为DOCX有多一行的瑕疵)

20230807在WIN10下使用python3将TXT文件转换为DOCX(在UTF8编码下转换为DOCX有多一行的瑕疵) 2023/8/7 12:58 https://translate.google.com/?slen&tlzh-CN&opdocs 缘起,由于google的文档翻译不支持SRT/TXT格式的字幕,因此…...

Flutter(八)事件处理与通知

1.原始指针事件处理 一次完整的事件分为三个阶段:手指按下、手指移动、和手指抬起,而更高级别的手势(如点击、双击、拖动等)都是基于这些原始事件的。 Listener 组件 Flutter中可以使用Listener来监听原始触摸事件 Listener({…...

Java,python,c#,js,c++搞量化交易的接口大全

股票基金api接口地址:https://stockapi.com.cn 不想自己写的:https://stockapi.com.cn 除了牛逼,只剩下牛逼,除了方便,只剩下方便,python不是唯一的量化编程语言 接口说明:日线macd指标 https:/…...

javaAPI(一):String

String的特性 String底层源码 1、String声明为final,不可被继承 2、String实现了Serializable接口:表示字符支持序列化 实现了Comparable接口:表示String可以比较大小 3、String内部定义了final char[] value用于存储字符串 4、通过字面量的…...

数据互通,版本管理优化图文档与BOM数据

在现代企业的产品开发过程中,图文档和BOM数据是不可或缺的关键要素。图文档记录了产品的设计和工程信息,而BOM数据则明确了产品所需物料的清单和规格。然而,由于数据的复杂性和版本变更的频繁性,图文档与BOM数据之间的协作和管理常…...

【CSS】旋转中的视差效果

效果 index.html <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"/><meta http-equiv"X-UA-Compatible" content"IEedge"/><meta name"viewport" content"widthdevice-…...

【ASP.NET MVC】使用动软(一)(9)

一、解决的问题 前文为解决数据库操作设计的 TestMysql 类&#xff0c;仅简单地封装了一个Query函数&#xff0c;代码如下&#xff1a; public class TestMysql{public static string SqlserverConnectStr "server127.0.0.1;charsetutf8;user idroot;persistsecurityin…...

Homebox开发者手册:从源码构建到自定义扩展的完整教程

Homebox开发者手册&#xff1a;从源码构建到自定义扩展的完整教程 【免费下载链接】homebox Homebox is the inventory and organization system built for the Home User 项目地址: https://gitcode.com/gh_mirrors/ho/homebox Homebox是一款为家庭用户打造的库存和组织…...

【数据手册解读12】发光二极管-LED

发光二极管-LED 国星光电 LED IF:正向电流,...

Unity零基础入门指南:借助快马AI生成你的第一个可交互3D场景

Unity零基础入门指南&#xff1a;借助快马AI生成你的第一个可交互3D场景 作为一个刚接触Unity的新手&#xff0c;我完全理解那种面对空白项目时的迷茫感。好在最近发现了InsCode(快马)平台&#xff0c;它让我这个编程小白也能快速创建出像模像样的3D交互场景。下面我就分享一下…...

如何用League-Toolkit智能助手解决英雄联盟5大核心痛点?效率提升指南

如何用League-Toolkit智能助手解决英雄联盟5大核心痛点&#xff1f;效率提升指南 【免费下载链接】League-Toolkit An all-in-one toolkit for LeagueClient. Gathering power &#x1f680;. 项目地址: https://gitcode.com/gh_mirrors/le/League-Toolkit 在快节奏的英…...

CLIP ViT-H-14效果展示:艺术风格迁移前后图像在特征空间的距离变化

CLIP ViT-H-14效果展示&#xff1a;艺术风格迁移前后图像在特征空间的距离变化 你有没有想过&#xff0c;当一幅梵高的《星空》被AI“理解”成毕加索的立体派风格时&#xff0c;在AI的“大脑”里&#xff0c;这两幅画到底有多“像”&#xff1f; 今天&#xff0c;我们就来用C…...

GetQzonehistory:3步轻松永久备份QQ空间所有历史说说

GetQzonehistory&#xff1a;3步轻松永久备份QQ空间所有历史说说 【免费下载链接】GetQzonehistory 获取QQ空间发布的历史说说 项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory 还在担心QQ空间里那些承载青春记忆的说说会突然消失吗&#xff1f;GetQ…...

新手福音:通过快马ccswitch模型轻松生成你的第一个博客页面代码

作为一名刚接触编程的新手&#xff0c;想要搭建个人博客主页却不知从何下手&#xff0c;这确实是个常见难题。最近我在InsCode(快马)平台尝试了ccswitch模型&#xff0c;发现它特别适合零基础学习者快速入门。下面分享我的实践过程&#xff0c;希望能帮到同样想入门前端开发的朋…...

GitHub开源项目日报 · 2026年4月1日 · AI编程助手与语音模型引领榜单

本期榜单主要涵盖开发者工具、AI应用和实用库三大类项目。从终端编程助手到语音AI模型,从HTTP客户端到提示词资源库,展示了当前开源生态的多样化发展。超过10000星以上的项目有prompts.chat、Axios、Claude Code、Codex CLI、VibeVoice、Claude Code最佳实践指南、Claude Cod…...

TEKLauncher:如何通过三重技术架构重新定义《方舟:生存进化》的游戏管理体验

TEKLauncher&#xff1a;如何通过三重技术架构重新定义《方舟&#xff1a;生存进化》的游戏管理体验 【免费下载链接】TEKLauncher Launcher for ARK: Survival Evolved 项目地址: https://gitcode.com/gh_mirrors/te/TEKLauncher TEKLauncher是一个专为《方舟&#xff…...

3步搞定PDF处理难题:Windows版Poppler让文档操作变得如此简单

3步搞定PDF处理难题&#xff1a;Windows版Poppler让文档操作变得如此简单 【免费下载链接】poppler-windows Download Poppler binaries packaged for Windows with dependencies 项目地址: https://gitcode.com/gh_mirrors/po/poppler-windows 您是否经常需要从PDF文件…...