linux sed删除指定行_shell三剑客之sed!

0a13294eb36ef76e2a162be99f4028cb.png

背景

sed(Stream Editor 流编辑器),作为三剑客的一份子,主要的功能有增删改查。

为什么称之为“流”编辑器呢?

大家知道:在Linux文件系统中,一切都可以作为文件来处理。

比如:配置文件、设备文件、日志等等。

sed就类似于工厂流水线作业的车间一样,文件中的每行内容都是生产元件,经过sed车间流水线处理,最终会变成成品。

0a13294eb36ef76e2a162be99f4028cb.png

sed语法格式

同grep一样,sed提供两种方式:

◆ stdout | sed [option] “pattern command”

◆ sed [option] “pattern command” file

第一种是从文本中直接使用pattern匹配搜索

第二种是从标准输出中处理

fca0087afd8ad4d101b2305ba6ba5c52.png

选项

18cb6428c5d23b2ab283eb74c1ec7d77.png

pattern匹配模式

3b9e32e9f435742a52c17417f238bbbe.png

sed命令-增加&删除

7f2b7bde7ae76d8c0dc01d8eb80000f4.png

练习:

单行插入

d76c55747c08d3e046f9a1f3ab1866ec.png

多行插入

5a3e4a8794dd885710dc30281dd3b2f7.png

删除内容

1808d91421644770351f844f9ac3f4c3.png

sed命令-修改

7e6e011be1471615fa11c192988bf9d1.png

◆ “#”作为定界符,“/”也可以作为定界符,当替换内容有包含定界符时,需要进行转义

◆ 如果要修改文件内容,需要加“-i”参数

练习:

修改文件内容,不对源文件起效

d8c96c16a03ea2741851e31688ac743a.png

修改源文件内容

16b95018d10b285f13f79e091551a3bc.png

修改文件指定行对应的内容

26fc55249f08a09a921690b394e9c5cd.png

sed分组替换功能

正则表达式中的分组功能sed也是可以支持的,用()记住正则表达式的一部分,其中,\1为第一个小括号里面的内容,如果还有其他的下括号,那么\2即可第二个,以此类推...,最多记住9个。

实例: I am yy teacher.这串文本想要保留yy,删除剩余的部分

ad1b1f2d18083ca0bbea2498542cf1d4.png

给配置文件中某一项配置加注释

e2667019c6de542dcf1ee369d27bc6be.png

sed命令-查询

查询相比较是最简单的,sed中的查询相比cat、more命令可以更加精细。

例如:

查询文件第二行内容(p即表示查询)

bc3904d5593430347f40cb4e6ee265db.png

查询文件1-10行

a1e6c4ad24ac913ae9decd3a4f2767aa.png

注意:p查询命令需要和-n参数结合一起使用,如果不使用-n 会输出原来行内容及匹配行的内容,-n表示取消原来行输出

0a13294eb36ef76e2a162be99f4028cb.png

综合实例

用sed取出Linux网卡eth0的IP地址

1ac24b17b1bec3575cdb6b83e9fb071a.png

将/etc/passwd文件中非单词字符替换成空格

4c73c7b7f5458aea4924ab3ff977da42.png

问题?使用单引号or双引号区别?

◆ 双引号把双引号的内容输出出来;如果内容中有命令,变量等,会先把命令,变量解析出结果,然后再输出最终内容来。双引号内命令或变量的写法为命令或变量或$(命令或变量)。

◆ 单引号所见即所得,将单引号内的内容原样输出,阻止所有字符的转义。

本文由柠檬班歪歪原创,转载需注明出处!

11d9110ff4ee5256499bd7127a3ae11d.png

转发到朋友圈是最高的赞赏

关注柠檬班微信公众号

领取100G软件测试资料

让软件测试学习变得更简单!

330902028c8645fdb78da15177f5356f.gif

Shell脚本如何备份数据库?扫码即可获取解题视频

ad28b381e2200aa13f2147aa8f97657a.png

ac9185dc867ca4ad15a6437abb57631d.png

一言不合就给我在看

eeefe1670ff02e96331140bf9ace852e.gif

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

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

相关文章

linux cpu使用率1200%,linux下用top命令查看cpu利用率超过100%

今天跑了一个非常耗时的批量插入操作。。通过top命令查看cpu以及内存的使用的时候,cpu的时候查过了120%。。以前没注意。。通过在top的情况下按大键盘的1,查看的cpu的核数为4核。通过网上查找,发现top命令显示的是你的程序占用的cpu的总数&am…

FileUpload时用Javascript检查扩展名是否有效

通用的检查方法。首先定义好有效的文件扩展名&#xff0c;存放在阵列中。 在JavaScript获取FileUpload控件的文件路径&#xff0c;并取得路径中的文件扩展名。再与阵列中的扩展名比较&#xff0c;如果存在&#xff0c;说明上传的文件是有效的&#xff0c;反之无效。 <asp:Fi…

python dialect='excel'是什么意思_python读取和生成excel文件

今天来看一下如何使用python处理excel文件&#xff0c;处理excel文件是在工作中经常用到的&#xff0c;python为我们考虑到了这一点&#xff0c;python中本身就自带csv模块... 今天来看一下如何使用python处理excel文件&#xff0c;处理excel文件是在工作中经常用到的&#xff…

玩转博客园的5个小技巧

转载自:http://www.cnblogs.com/lloydsheng/archive/2010/05/17/1737267.html 写博客也有几年了&#xff0c;现在能找到的第一篇博文发布时间是2007年11月11日&#xff0c;那还是在百度空间里面的&#xff0c;其实更早的是在csai&#xff0c;不过帐号&#xff0c;密码&#xff…

linux kvm安装win7,ubuntu14.04 使用kvm安装win7系统

办公电脑从win7换成ubuntu已经有几个月了..环境:ubuntu 14.04kvm 2.0.0需要的各种软件也都安装的差不多了.. 迅雷 qq office vmware 等 这些我常用的软件也都安装上了..我的电脑配置也算可以了(thinkpad E 系列 i5 8G内存 )但是vmware这个东西在ubuntu上的表现不是那么让人满意…

hibernate继承映射之每个具体类一张表

数据模型 表person 表student 表worker 对象模型 Person private String id;private String name;private int age;private String sex; Student extends Person private String school; Worker extends Person private String factory; xml配置&#xff1a; <?xml version…

No resource found that matches the given name 'android:Widget.Material.A解决方案

1&#xff1a;首先新建空白工作区 2&#xff1a;先import appcompat_v7 appcompat_v7在一个类似这样的地方&#xff0c; C:\mywork\android\android-sdk-windows\extras\android\support\v7\appcompat 然后用import进来&#xff0c;像如下操作&#xff1a; 确保sdk是5.0及以上 …

python easygui进度条_Python _easygui详细版

1. msgbox msgbox(msg(Your message goes here), title , ok_buttonOK, imageNone, rootNone) msgbox() 显示一个消息和提供一个"OK"按钮&#xff0c;你可以指定任意的消息和标题&#xff0c;你甚至可以重写"OK"按钮的内容。 import easygui as g g.msgbox…

swappiness

2019独角兽企业重金招聘Python工程师标准>>> swappiness参数位于&#xff1a;/etc/sysctl.cof swappiness0表示最大限度使用物理内存&#xff0c;然后才是swap空间。swappiness100的时候表示积极的使用swap分区&#xff0c;并把内存上的数据及时地搬运到swap空间…

宏基笔记本4740 Linux,宏基4740g拆机【教程详解】

笔记本电脑 使用久了内部会累积有灰尘&#xff0c;这些灰尘可能会影响到正常的使用;还有些人觉得笔记本电脑内存不够&#xff0c;想要加装个内存条;亦或想要帮助笔记本电脑换cpu等&#xff0c;这些都是需要将笔记本电脑拆卸下来&#xff0c;然后才能够完成好相关的工作。宏基47…

如何正确创建DLL和使用DLL

如何正确创建DLL和使用DLL 本文将通过一个简单的实例来说明&#xff0c;如何正确的导出DLL中的类、对象、函数&#xff0c;并如何通过静态加载或动态加载的方式来使用DLL。 一、DLL中导出类、函数、对象 1. 创建一个空的Win32 Dynamic-Link Library项目Test 2. 在项目中添加一个…

mysql-5.7.11-winx64.zip 安装配置

1、下载 http://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.11-winx64.zip 2.解压缩zip包&#xff1b; D:\Program Files\mysql-5.7.11-winx64 3.配置环境变量&#xff0c; 3.1 添加path路径&#xff0c; D:\Program Files\mysql-5.7.11-winx64\bin 3.2.修改mysql-default.…

【分享】LazyLoad延迟加载(按需加载)

1&#xff1a;实际需求 大型网站往往很矛盾&#xff0c;想用户在首页看到更多东西&#xff0c;又不想浪费太多服务器流量。比如一个有3屏的首页。可能50%的用户进首页的目的是点击首页的连接&#xff0c;到子页面。 那么我们的网站却为100%的用户加载了 3个 屏幕的所有内容。如…

python中ipo模型有_python ipo模型是指什么?_后端开发

c语言中如何用do...while语句求1到100的累加和_后端开发 c语言中用do...while语句求1到100的累加和的方法是&#xff1a;1、首先定义变量i与sum&#xff0c;如【int sum0,i1】&#xff1b;2、然后用do...while语句实现即可&#xff0c;如【do{sumsumi;i;}while(i<100)】。py…

英语26个字母使用频度

LetterLetter namePronunciation NLetterFrequency LetterFrequencyAa/ˈeɪ/, //[nb 2] 1A8.17% E12.70%Bbee/ˈbiː/ 2B1.49% T9.06%Ccee/ˈsiː/ 3C2.78% A8.17%Ddee/ˈdiː/ 4D4.25% O7.51%Ee/ˈiː/ 5E12.70% I6.97%Fef (eff as a verb)/ˈɛf/ 6F2.23% N6.75%Ggee/ˈdʒi…

java签到_实战:如果让你用SpringBoot实现签到奖励的功能,你会怎么做?

阅读本文大概需要 6 分钟。来自&#xff1a;网络前言最近在做社交业务&#xff0c;用户进入APP后有签到功能&#xff0c;签到成功后获取相应的奖励&#xff1a;项目状况&#xff1a;前期尝试业务阶段&#xff1b;特点&#xff1a;快速实现&#xff08;不需要做太重&#xff0c;…

软件开发工具介绍之 1.代码生成器

在程序开发过程当中&#xff0c;程序员会经常做着重复性的工作&#xff0c;最常见的是访问数据库&#xff0c;程序员要经常编写增、删、改、分页之类的操作。为了避免这个问题&#xff0c;节省大量机械录入的时间和重复劳动&#xff0c;提高工作效率&#xff0c;而将精力集中于…

python自带的shell、其性能优于ipython吗_Python自带的shell,其性能优于IPython

信源X的&#xff0c;自带每一机事件的都相等个随概率&#xff0c;即P。 优于 自带优于 自带求(机械的保养要。 优于标有机械的主管理要指。 下尺性期人手节分的病离急法整复后&#xff0c;自带项处做哪理&#xff1a;还应。 并放下肢射至&#xff0c;优于现右肢放扭伤右下臀及后…

虚拟机测试必备虚拟机之VirtualBox 使用

2019独角兽企业重金招聘Python工程师标准>>> 安装&#xff0c;windowns在官网上对应版本下载下一步安装结束即可&#xff0c;配置有seting可以选择中文&#xff0c;方便理解&#xff0c;其实英文也好功能 不多。 安装linux&#xff1a;ubuntu&#xff0c;如果有网su…

基于.NET Framework 4.0的解决方案部署

VS 2010发布之后&#xff0c;随着而来的框架版本也升级到了.NET Framework 4.0。我相信很多朋友已经在用了吧。这一篇文章总结了如何基于.NET Framework 4.0&#xff0c;进行解决方案部署。 之所以要单独写一下&#xff0c;是因为确实这个版本与之前的.NET Framework 2.0&#…