Linux中sed工具的使用

在linux中,sed工具是一种功能强大的流编辑器,广泛用于文本处理。以下是关于sed工具使用的一些关键点和示例:

Sed工具的概述

Sed是一种流编辑器,它以行为单位进行处理。在处理过程中,sed将当前行存储在临时缓冲区中,称为“模式空间”(pattern space)。处理完后,缓冲区的内容被发送到屏幕。文件内容不会被改变,除非使用重定向存储输出。需要注意的是,sed命令默认不会修改原文件,除非使用-i参数。

Sed命令的基本结构

sed [参数] [命令] [文件]

常用参数

-f 脚本文件:使用指定的脚本文件处理输入文本。-e 脚本:使用指定的脚本处理输入文本。-n:仅显示处理后的行。

常用命令

a:在当前行下方插入文本。i:在当前行上方插入文本。d:删除选择的行。s:替换指定字符。p:打印模板块的行。r file:从文件中读取行。w file:将行写入文件。c:替换当前行。

示例

默认显示所有内容

sed '/root/ROOT/p' /etc/passwd

仅显示发生改变的行:

sed -n '/root/ROOT/p' /etc/passwd

查看指定行

查看第10行:

sed -n '10p' /etc/passwd

查看5-10行:

sed -n '5,10p' /etc/passwd

字符替换

将文件中的第一个root替换为ROOT:

sed 's/root/ROOT/' /etc/passwd

替换所有root为ROOT:

sed 's/root/ROOT/g' /etc/passwd

从每行的第二个root开始替换:

sed 's/root/ROOT/2g' /etc/passwd

行替换

将文件的1-5行替换为i very happy:

sed '1,5c i very happy' test

替换以root开头的行:

sed '/^root/croot user login' /etc/passwd

定界符

使用/作为定界符:

sed 's/root/ROOT/g'

使用其他定界符,如:或|:

sed 's:root:ROOT:g'sed 's|root|ROOT|g'

当定界符出现在样式内部时,需要转义:

sed 's//root//ROOT/g'

删除操作

删除空白行:

sed '/^$/d' test

删除第2行:

sed '2d' test

删除第2行到末尾的所有行:

sed '2,$d' test

删除最后一行:

sed '$d' test

删除以root开头的行:

sed '/^root/d' test

删除包含root的行:

sed '/root/d' test

删除奇数行,显示偶数行:

sed '1~2d' test

多点编辑

使用-e选项执行多条命令:

sed -e '1,5d' -e 's/root/ROOT/g' /etc/passwd

从文件读入

将file的内容插入到与test匹配的行之后:

sed '/test/r file' filename

写入文件

将包含test的行写入file:

sed -n '/test/w file' example

插入操作

在以test开头的行下方插入this is a test line:

 sed '/^test/athis is a test line' test sed '/^test/a this is a test line' test

在第2行之后插入this is a test line:

 sed '2athis is a test line' test sed '2a this is a test line' test

在以test开头的行上方插入this is a test line:

 sed '/^test/ithis is a test line' test sed '/^test/i this is a test line' test

在第5行之前插入this is a test line:

 sed '5ithis is a test line' test sed '5i this is a test line' test

在所有行的行首和行尾添加HEAD和TAIL:

 sed 's/^/HEAD/g' test sed 's/$/TAIL/g' test

在指定行的行首和行尾添加HEAD和TAIL:

 sed '5s/^/HEAD/' test sed '5s/$/TAIL/' test

过滤指定行,然后在过滤行的行首和行尾添加HEAD和TAIL:

 sed '/^ONBOOT/s/^/HEAD/' ifcfg sed '/^ONBOOT/s/$/TAIL/' ifcfg

Linux中sed工具的使用

相关文章

Linux中awk工具的使用Linux中grep工具的使用

以上就是Linux中sed工具的使用的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/32845.html

赞 (0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
MySql的批处理:如何处理大量数据
上一篇 2026年10月10日 10:33:07
《风之旅人》艺术总监新游M站均分89分:艺术品!
下一篇 2025年11月20日 22:03:36

相关推荐

  • Xamarin Android中Bundle.GetParcelable弃用问题的解决方案

    Xamarin Android中Bundle.GetParcelable弃用问题的解决方案Xamarin Android中Bundle.GetParcelable弃用问题的解决方案Xamarin Android中Bundle.GetParcelable弃用问题的解决方案Xamarin Android中Bundle.GetParcelable弃用问题的解决方案

    本文旨在解决Xamarin Android开发中,当API级别升级到33 (Tiramisu)及更高版本时,Bundle.GetParcelable(string)方法被弃用的问题。文章将深入探讨弃用原因,并提供使用类型安全的Bundle.GetParcelable(string, Class)新方…

    2026年10月10日 • 用户投稿
    000
  • C盘变红但找不到大文件怎么办 5个方法释放C盘空间

    C盘变红但找不到大文件怎么办 5个方法释放C盘空间C盘变红但找不到大文件怎么办 5个方法释放C盘空间C盘变红但找不到大文件怎么办 5个方法释放C盘空间C盘变红但找不到大文件怎么办 5个方法释放C盘空间

    在日常使用电脑时,不少用户会遇到c盘突然爆红、提示空间不足的情况,但翻遍文件夹却找不到明显的“罪魁祸首”。其实,这往往是系统缓存、隐藏文件、软件残留或磁盘管理不当所致。下面分享5种实用方法,帮你轻松释放c盘空间。 一、清除磁盘缓存与临时文件 Windows在运行中会积累大量临时数据,这些文件默认隐藏…

    2026年10月10日 • 用户投稿
    100
  • 今日头条怎么切换登录账号_今日头条多账号快速切换管理方法

    今日头条怎么切换登录账号_今日头条多账号快速切换管理方法今日头条怎么切换登录账号_今日头条多账号快速切换管理方法今日头条怎么切换登录账号_今日头条多账号快速切换管理方法今日头条怎么切换登录账号_今日头条多账号快速切换管理方法

    可通过应用内切换、退出重登或手机分身实现多账号管理。首先在“我的-设置-账号与安全”中添加并切换账号;其次选择“退出登录”后重新输入其他账号信息;最后利用安卓手机的“应用分身”功能,双开今日头条并独立登录不同账号,实现并行操作与数据隔离。 如果您正在使用今日头条,但需要在不同账号之间进行切换以管理个…

    2026年10月10日 • 用户投稿
    200
  • 如何在Java中自定义异常类并抛出,需要注意什么?

    如何在Java中自定义异常类并抛出,需要注意什么?如何在Java中自定义异常类并抛出,需要注意什么?如何在Java中自定义异常类并抛出,需要注意什么?如何在Java中自定义异常类并抛出,需要注意什么?

    在java中自定义异常类并抛出的方法是继承exception或runtimeexception,并根据需要抛出和捕获;1. 自定义异常类需继承exception(检查型)或runtimeexception(非检查型),提供无参、带消息、链式异常构造方法;2. 抛出自定义异常使用throw new m…

    2026年10月10日 • 用户投稿
    100
  • win8怎么查看电脑配置 Win8查看硬件配置信息方法汇总

    win8怎么查看电脑配置 Win8查看硬件配置信息方法汇总win8怎么查看电脑配置 Win8查看硬件配置信息方法汇总win8怎么查看电脑配置 Win8查看硬件配置信息方法汇总win8怎么查看电脑配置 Win8查看硬件配置信息方法汇总

    1、通过“系统属性”可查看操作系统版本、处理器型号和内存总量;2、使用“设备管理器”能获取显卡、声卡等硬件的具体型号;3、运行dxdiag命令打开DirectX诊断工具,可查看系统、显示和声音设备的详细信息;4、执行msinfo32命令启动系统信息工具,获得包括BIOS、主板型号在内的全面硬件配置。…

    2026年10月10日 • 用户投稿
    400
  • linux下生成s文件的过程叫什么

    linux下生成s文件的过程叫什么linux下生成s文件的过程叫什么linux下生成s文件的过程叫什么linux下生成s文件的过程叫什么

    linux下生成s文件的过程叫“编译”。linux中的编译器gcc会把预处理后的“.i”文件进行语法分析、语义分析以及优化后生成汇编代码文件(“.s”文件),执行语法为“gcc -S 文件名.i -o 文件名.s”;接着汇编器会把汇编代码文件转换成中间目标文件;最后链接器ld会把目标文件与所需要的静…

    2026年10月10日 • 用户投稿
    000
  • win10登录界面不显示输入框_win10开机锁屏界面没有密码框的解决方法

    win10登录界面不显示输入框_win10开机锁屏界面没有密码框的解决方法win10登录界面不显示输入框_win10开机锁屏界面没有密码框的解决方法win10登录界面不显示输入框_win10开机锁屏界面没有密码框的解决方法win10登录界面不显示输入框_win10开机锁屏界面没有密码框的解决方法

    1、重启Windows资源管理器可恢复登录界面显示;2、通过粘滞键调出命令提示符启动凭据管理器和用户配置服务;3、进入安全模式排查驱动或软件冲突;4、检查组策略中是否启用“不显示密码字段”并禁用该设置;5、重建本地用户配置文件,创建新管理员账户登录并迁移数据。 如果您在启动Windows 10后进入…

    2026年10月10日 • 用户投稿
    100
  • VoltAgent— 开源的AI Agent构建和编排框架

    VoltAgent— 开源的AI Agent构建和编排框架VoltAgent— 开源的AI Agent构建和编排框架VoltAgent— 开源的AI Agent构建和编排框架VoltAgent— 开源的AI Agent构建和编排框架

    voltagent 是一种开源的 typescript 框架,用于构建和编排 ai agent。voltagent 为开发者提供了构建 ai 应用的基础设施和工具,简化了与大语言模型(llm)的交互、状态管理、外部工具连接以及工作流编排的复杂性。开发者可以利用模块化组件快速构建从简单聊天机器人到复杂…

    2026年10月10日 • 用户投稿
    000
  • 如何优化composer的自动加载性能

    如何优化composer的自动加载性能如何优化composer的自动加载性能如何优化composer的自动加载性能如何优化composer的自动加载性能

    优化Composer自动加载性能需优先生成优化classmap(–optimize)并使用–classmap-authoritative减少文件探测,结合APCu与OPcache提升执行效率,同时精简autoload范围、排除无用路径,并在部署时执行composer inst…

    2026年10月10日 • 用户投稿
    000
  • win11英伟达控制面板在哪里 如何打开和设置

    win11英伟达控制面板在哪里 如何打开和设置win11英伟达控制面板在哪里 如何打开和设置win11英伟达控制面板在哪里 如何打开和设置win11英伟达控制面板在哪里 如何打开和设置

    部分用户在使用 windows 11 时发现无法找到 nvidia 控制面板,不清楚如何开启或遇到功能异常的情况。本文将全面解析在 win11 系统中如何定位并打开 nvidia 控制面板,以及常见问题的应对方案。 一、Win11 中英伟达控制面板的位置 在 Windows 11 操作系统中,NVI…

    2026年10月10日 • 用户投稿
    000
  • win10怎么校准屏幕颜色_win10屏幕颜色校准步骤

    win10怎么校准屏幕颜色_win10屏幕颜色校准步骤win10怎么校准屏幕颜色_win10屏幕颜色校准步骤win10怎么校准屏幕颜色_win10屏幕颜色校准步骤win10怎么校准屏幕颜色_win10屏幕颜色校准步骤

    首先使用Windows内置工具校准显示器颜色,依次调整伽马、亮度、对比度和色彩平衡,并生成新的ICC配置文件;接着可通过运行dccw快速启动校准向导;最后启用ClearType文本调谐,选择最清晰文本样例以优化LCD屏幕文字显示效果。 如果您发现Windows 10电脑屏幕显示的颜色不准确、偏色或与…

    2026年10月10日 • 用户投稿
    000
  • Android Bundle Parcelable 数据传递:解决 GetParcelable(string) 过时问题

    Android Bundle Parcelable 数据传递:解决 GetParcelable(string) 过时问题Android Bundle Parcelable 数据传递:解决 GetParcelable(string) 过时问题Android Bundle Parcelable 数据传递:解决 GetParcelable(string) 过时问题Android Bundle Parcelable 数据传递:解决 GetParcelable(string) 过时问题

    本文旨在解决在 Android API 33 (Tiramisu) 及更高版本中,Bundle.GetParcelable(string) 方法被标记为过时的问题。我们将深入探讨其背后的原因,并提供详细的 C# (Xamarin) 解决方案,指导开发者如何安全、高效地使用类型安全的 Bundle.G…

    2026年10月10日 • 用户投稿
    100
  • linux终端类型xterm是什么

    linux终端类型xterm是什么linux终端类型xterm是什么linux终端类型xterm是什么linux终端类型xterm是什么

    xterm是X Windows系统的默认终端仿真器程序,出生于1984年,主要用来提供多个独立的SHELL输入输出;用户只需在“终端”窗口中键入“xterm”命令并按Enter,它将与xterm窗口一起启动X11环境。用户可以在同一个显示器上开启许多xterm,每一个都为其中运行的进程提供独立的输入…

    2026年10月10日 • 用户投稿
    300
  • 如何确保PHPUnit测试覆盖率达标?使用thor-juhasz/phpunit-coverage-check让代码质量更有保障

    如何确保PHPUnit测试覆盖率达标?使用thor-juhasz/phpunit-coverage-check让代码质量更有保障如何确保PHPUnit测试覆盖率达标?使用thor-juhasz/phpunit-coverage-check让代码质量更有保障如何确保PHPUnit测试覆盖率达标?使用thor-juhasz/phpunit-coverage-check让代码质量更有保障如何确保PHPUnit测试覆盖率达标?使用thor-juhasz/phpunit-coverage-check让代码质量更有保障

    Composer在线学习地址:学习地址 在日常的 PHP 项目开发中,我们都深知单元测试的重要性。一份详尽的测试报告能给我们带来极大的信心,确保代码变更不会引入新的 bug。然而,仅仅编写测试是不够的,我们还需要关注一个关键指标:测试覆盖率。 实际问题:测试覆盖率的“隐形滑坡” 想象一下这样的场景:…

    2026年10月10日 • 用户投稿
    000
  • TesserAct— AI 4D具身世界模型,能预测3D场景的动态演变

    TesserAct— AI 4D具身世界模型,能预测3D场景的动态演变TesserAct— AI 4D具身世界模型,能预测3D场景的动态演变TesserAct— AI 4D具身世界模型,能预测3D场景的动态演变TesserAct— AI 4D具身世界模型,能预测3D场景的动态演变

    tesseract 是一种创新的 4d 具身世界模型,能够预测 3d 场景随时间的动态变化,并对具身代理的动作做出反应。通过训练 rgb-dn(rgb、深度和法线)视频数据,tesseract 超越了传统的 2d 模型,能够将详细的形状、配置和时间变化纳入预测中。其核心优势在于时空一致性,支持新视角…

    2026年10月10日 • 用户投稿
    100
  • 微软发布两款全新自研模型:MAI-Voice-1 与MAI-1-preview

    微软发布两款全新自研模型:MAI-Voice-1 与MAI-1-preview微软发布两款全新自研模型:MAI-Voice-1 与MAI-1-preview微软发布两款全新自研模型:MAI-Voice-1 与MAI-1-preview微软发布两款全新自研模型:MAI-Voice-1 与MAI-1-preview

    微软近日正式推出两款完全自主研发的人工智能模型:语音生成模型 MAI-Voice-1 与通用大模型 MAI-1-preview,标志着其在AI自研技术路径上的重要进展。 MAI-Voice-1 凭借卓越的效率,能够在单块GPU上实现一秒内生成长达一分钟的高保真语音内容。该模型已投入实际应用,例如在“…

    2026年10月10日 • 用户投稿
    000
  • crontab是linux自带的吗

    crontab是linux自带的吗crontab是linux自带的吗crontab是linux自带的吗crontab是linux自带的吗

    是的,crontab是linux系统下自带的定时任务工具,用户可以使用crontab工具来定制自己的计划任务。通过crontab命令,用户可以在固定的间隔时间执行指定的系统指令或shell脚本,语法“crontab [-u user] file”或“crontab [-u user] [-e|-l|…

    2026年10月10日 • 用户投稿
    000
  • 怎么重启windows资源管理器

    怎么重启windows资源管理器怎么重启windows资源管理器怎么重启windows资源管理器怎么重启windows资源管理器

    重启Windows资源管理器不会丢失其他应用数据,最简单方法是通过任务管理器右键“Windows 资源管理器”并选择“重新启动”,可解决卡顿、界面异常等问题;若问题持续,需排查Shell扩展、系统文件损坏或更新系统。 重启Windows资源管理器通常很简单,最直接的方法就是通过任务管理器找到“Win…

    2026年10月10日 • 用户投稿
    100
  • ai绘画软件排行榜 免费ai自动生成绘画软件前十名盘点

    随着人工智能技术的飞速发展,AI绘画已从专业领域走向大众,成为人人皆可尝试的创意工具。本文为您精选了当前市场上十款优秀的免费AI绘画软件,无论您是设计专业人士还是零基础的爱好者,都能在这里找到释放创意的最佳平台。 ☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek…

    2026年10月10日
    000
  • 如何发布一个composer包到私有的Satis仓库

    如何发布一个composer包到私有的Satis仓库如何发布一个composer包到私有的Satis仓库如何发布一个composer包到私有的Satis仓库如何发布一个composer包到私有的Satis仓库

    确保 PHP 包已配置 composer.json 并推送到私有 Git 仓库,打上版本 tag;2. 配置 satis.json 指定仓库地址和所需包版本;3. 运行 php bin/satis build 生成静态仓库;4. 在目标项目中添加 Satis 仓库源并执行 composer inst…

    2026年10月10日 • 用户投稿
    000

发表回复

登录后才能评论
关注微信