Skip to content

IT技术学习

IT技术培训网站

  • 首页
  • IT学习
  • 学习课程
  • 免费教程
  • 师资力量
  • 技术干货
  • 行业资讯

Archive 2024年12月17日

  • 首页   /  2024   /  12月   /  
  • 17
未分类 12月 17,2024

如何使用sed在Linux指定行进行文本操作linux指定行sed

在Linux系统中,sed是文本编辑工具之一,具有强大的文本处理功能,尤其是在对大量文本进行处理时更加高效。但是,对于初学者来说,使用sed工具在指定行进行文本处理可能会是一个有挑战性的任务。在本篇文章中,我们将提供一些基本的指导,帮助您在使用sed时更方便地在指定行进行文本处理。 什么是sed? sed是一款文本处理工具,可用于从文件和标准输入流中读取数据,并以行为单位处理读取到的数据。它支持文ERP系统本替换、删除、插入等基本功能,并可以使用正则表达式进行更复杂的文本处理。sed的主要应用场景包括: – 批量替换文本 – 删除指定行或删除符合某些条件的行 – 在指定行中插入或追加文本 – 将多行文本合并为一行 – 在指定行前、后或指定位置加入或删除文进销存系统本块等等。 在本文中,我们着重介绍如何在指定行进行文本处理。 使用sed在指定行进行文本处理 sed命令的基本语法如下: “` shell sed ‘expression’ filename “` 其中,expression为sed命令的参数,用于指定货代系统文本处理的逻辑,filename为要处理的文件名。 在sed命令中,行号是非常重要的概念,因为我们通常需要在指定行进行文本处理。因此,以下是在sed中使用行号的一些基本语法。 1. 流模式 在流模式下,sed在处理输入流时逐行处理,因此可以使用行号作为相应国际快递系统处理的匹配条件。使用行号的语法如下: “` shell sed ‘3d’ filename “` 上面的语法表示删除filename文件的第3行。 2. 编辑模式 在编辑模式下,sed在对指定文件进行文本处理时,可以使用地址来指定处理的行范围。常用集运系统的地址包括: – 数字地址:用于指定要处理的行号 “` shell sed -n ‘3p’ filename “` 上面的语法表示输出filename文件的第3行,-n选项表示只输出指定行,不输出其他的行。 – 正则表达式地址:用于指定符合正则表达式的行 日用品ERP系统“` shell sed -n ‘/pattern/p’ filename “` 上面的语法表示输出filename文件中匹配”pattern”的所有行,-n选项表示只输出匹配的行。 – 文本范围地址:用于指定要处理的行的范围 “` shell sed -n ‘3,5p’ filename “` 上面的语法表示输出filename文件中的第3行到第5行,-n选项表示只输出指定行,不输出其他的行。 – 上下文地址:用于指定上下文的文本块 “` shell sed -n ‘3,+2p’ filename “` 上面的语法表示输出filename文件中的第3行到第5行,+2表示向下延伸两行作为上下文。 sed命令中行号的表达式语法非常灵活,但是对于初学者来说,可能需要根据具体需求进行调整。我们建议您在操作之前正确地理解和测试代码。 如何在指定行插入文本? 在sed中,可以使用`i`命令在指定的行之前插入文本,语法如下: “` shell sed ‘3i ‘ filename “` 上面的语法表示在filename文件的第3行之前插入“文本。 同样的,我们也可以在指定行之后插入文本,语法如下: “` shell sed ‘3a ‘ filename “` 上面的命令表示在filename文件的第3行之后插入文本“。 值得注意的是,在sed命令中,如果要插入多行文本,可以使用转义字符`\`来表示换行符,如下所示: “` shell sed ‘3i \ Line 1 of text \ Line 2 of text \ Line 3 of text’ filename “` 上面的命令表示在filename文件的第3行之前插入三行文本。 如何在指定行删除文本? 在sed中,可以使用`d`命令删除指定行的文本,语法如下: “` shell sed ‘3d’ filename “` 上面的命令表示删除filename文件的第3行。 同样的,我们也可以删除某个文本块,以及多行文本。 删除指定文本块的语法如下所示: “` shell sed ‘/start/,/end/d’ filename “` 其中,`start`和`end`表示文本块的开始和结束位置,sed会删除这两行之间的所有内容。 删除多行文本的语法如下所示: “` shell sed ‘3,5d’ filename “` 其中,3和5分别表示要删除的起始行和结束行。 在sed中,有多种删除文本的方式,我们建议您根据特定的需求进行选择。 结语 相关问题拓展阅读: linux三剑客的基本使用——grep、sed、awk linux三剑客的基本使用——grep、sed、awk grep、sed、awk是linux功能非常强大的三个命令,grep是查找过滤文本,sed是对文本进行编辑替换,awk是对文本进行分析报告。 最简单的理解就是找什么东西用grep,想修改什么内容用sed,想格式化内容用awk。 创建一个文件名为grep_text.txt的文件,并放入内容: SillyMadman is both a madman and a fool. Everyone agrees with this sentence. 我要查找在grep_text.txt文件里有Silly的行 命令是: grep Silly grep_text.txt 会返回内容:SillyMadman is both a madman and a fool. 也可以带以下参数,这些我认为可能容易用到的参数,其它的参数需要另行查找 文档,比如可以使用正则进行匹配。 内容相关的 -B, –before context=NUM显示所在行之前的行数 -A, –after context=NUM显示所在行之后的行数 -C, –context=NUM打印输出上下文的行数 过滤内容相关的参数: -i, –忽略大小写区分 -w,–匹配查找的整个单词 -x,–匹配查找的整行文本 -v, –过滤掉匹配的内容 输出内容相关的参数 -n, –行号打印带有输出行的行号 比如,我要查找在grep_text.txt文件里不区分大小写查找sillymadman,并显示行号和匹配文本纯此的下一行,那么我可以用以下命令查找 grep sillymadman grep_text.txt -i -n -A1 内容返回为 1:SillyMadman is both a madman and a fool. 2-Everyone agrees with this sentence. 总体而言grep的使用方式就是 grep (查找的内容) (文件名) grep也经常搭配管道符号做弊迅”|”使用,比如我要查询某程序的进程,并去掉查找进程本身,那么命令为 ps -ef | grep program_name | grep -v grep 再创建一个文件名为sed_text.txt的文件,并放入内容: SillyMadman is both a madman and a fool. Everyone agrees with this sentence. 我想要在之一行下面添加一句:woshishazi 命令是:sed ‘1a\woshishazi’ sed_text.txt 返回内容为: SillyMadman is both a madman and a fool. woshishazi Everyone agrees with this sentence. 但是以上这个命令不会修改原文件,如果需要,需要加上-i sed -i ‘1a\woshishazi’ sed_text.txt 上面a是代表append,从指定行后面新的一行添加数据,还有其他操作 操作有以下这些 a :从下面一行新增 i :从上面一行插入, d :删除 c :整行替换 p :打印 s :对指定内容进行替换 下面稍卜晌微举下例: a: sed ‘1a\woshishazi’ sed_text.txt 从之一行后面添加 i: sed ‘1i\woshishazi’ sed_text.txt 从之一行前面插入 d: sed ‘1d’ sed_text.txt 删除之一行 c: sed ‘1c\woshishazi’ sed_text.txt 替换之一行内容为woshishazi p: sed -n ‘1p’ sed_text.txt 打印之一行,一般搭配-n使用,其他内容就不会再展示 s:这个相对复杂一点需要详细说明一下 sed的参数为 ‘s/要被替换的内容/新的内容/g’ 行是一个可选项,可以选择具体的行进行替换 g代表替换所有匹配到的内容,也可以改为数字,表示第几次匹配到时进行替换 sed ‘s\SillyMadman\shafengzi\g’ sed_text.txt ,将所有SillyMadman替换为shafengzi 输出结果为: shafengzi is both a madman and a fool. Everyone agrees with this sentence. 最后再创建一个文件名为awk_text.txt的文件,并放入内容: 1 a 2 b 3 c 4 d 5 f 以空白符作为 分隔符 这个文本相当于每一行有两个字段。 那么打印之一个字段时 awk ‘{print 0的话,则代表打印所有字段 awk默认以空白符作为分隔符,也可以指定分割符通过-F awk -F: ‘{print $1}’ awk_text.txt,以“:”作为作为分隔符 那么返回内容就为 1 a 2 b 3 c 4 d 5 f 相当于只有一列或者说一个字段 然后还可以对前面加上一个正则对行进行匹配内容 awk ‘/a/{print 2 ~ /a/){print $1}’ awk_text.txt 返回内容为 关于linux 指定行sed的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

文章来源于网络,如有侵权,请联系删除。

我司专注于ERP软件开发,ERP生产管理软件,客户管理软件开发,进销存软件,

企业微信ERP生产管理软件,销售管理,生产管理,采购管理,客户管理,BOM物料管理,财务管理,统计分析于一体ERP管理软件,分手机APP ERP管理软件,企业微信ERP软件。多年来一直专于研发,销信于一体软件公司。

作者 kson

近期文章

  • Linux目录读写权限详解linux目录读写权限
  • Linux嵌入式开发指南2023年发展路线linux嵌入式开发之路2023
  • 深入探究Linux系统中的虚拟机linux系统的虚拟机
  • Linux进程调用详解查看进程相关信息linux查看进程调用
  • 红帽Linux操作系统免费下载体验红帽linux操作系统下载

近期评论

  • 一位WordPress评论者发表在《世界,您好!》

文章归档

  • 2025年5月
  • 2025年4月
  • 2025年3月
  • 2025年2月
  • 2025年1月
  • 2024年12月
  • 2024年11月
  • 2024年10月
  • 2024年9月
  • 2024年8月
  • 2024年7月
  • 2024年6月
  • 2024年5月
  • 2024年4月
  • 2024年3月
  • 2021年8月

分类目录

  • 未分类

功能

  • 登录
  • 文章RSS
  • 评论RSS
  • WordPress.org

文章归档

  • 2025年5月
  • 2025年4月
  • 2025年3月
  • 2025年2月
  • 2025年1月
  • 2024年12月
  • 2024年11月
  • 2024年10月
  • 2024年9月
  • 2024年8月
  • 2024年7月
  • 2024年6月
  • 2024年5月
  • 2024年4月
  • 2024年3月
  • 2021年8月

近期评论

  • 一位WordPress评论者发表在《世界,您好!》

分类目录

  • 未分类
2024年12月
一 二 三 四 五 六 日
« 11月   1月 »
 1
2345678
9101112131415
16171819202122
23242526272829
3031  

近期文章

  • Linux目录读写权限详解linux目录读写权限
  • Linux嵌入式开发指南2023年发展路线linux嵌入式开发之路2023
  • 深入探究Linux系统中的虚拟机linux系统的虚拟机
  • Linux进程调用详解查看进程相关信息linux查看进程调用
  • 红帽Linux操作系统免费下载体验红帽linux操作系统下载
2024年12月
一 二 三 四 五 六 日
« 11月   1月 »
 1
2345678
9101112131415
16171819202122
23242526272829
3031  

分类目录

  • 未分类

近期文章

  • Linux目录读写权限详解linux目录读写权限
  • Linux嵌入式开发指南2023年发展路线linux嵌入式开发之路2023
  • 深入探究Linux系统中的虚拟机linux系统的虚拟机
  • Linux进程调用详解查看进程相关信息linux查看进程调用
  • 红帽Linux操作系统免费下载体验红帽linux操作系统下载

近期文章

  • Linux目录读写权限详解linux目录读写权限
  • Linux嵌入式开发指南2023年发展路线linux嵌入式开发之路2023
  • 深入探究Linux系统中的虚拟机linux系统的虚拟机
  • Linux进程调用详解查看进程相关信息linux查看进程调用
  • 红帽Linux操作系统免费下载体验红帽linux操作系统下载

菜单

  • IT学习
  • 免费教程
  • 学习课程
  • 师资力量
  • 技术干货
  • 行业资讯
  • 首页
2024年12月
一 二 三 四 五 六 日
« 11月   1月 »
 1
2345678
9101112131415
16171819202122
23242526272829
3031  

ERP软件 | 备案号: 粤ICP备2021080469号