sed 命令

news2024/11/24 9:01:23

sed是Stream Editor(字符流编辑器)的缩写,简称流编辑器。
sed 命令是一个面向行处理的工具,它以“行”为处理单位,针对每一行进行处理,处理后的结果会输出到标准输出stdout。sed 命令是很懂礼貌的一个命令,它不会对读取的文件做任何贸然的修改,而是将内容都输出到标准输出中。想要修改文件需要使用-i参数。

#语法格式:
sed [选项] [sed内置命令字符] [输入文件]

sed 命令是面向“行”进行处理的,每一次处理一行内容。处理时,sed 会把要处理的行存储在缓冲区中,接着用 sed 命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。这个缓冲区被称为“模式空间”(pattern space)。

sed中的-n参数:
前面提到,sed 会将模式空间里的行经过处理后输出到标准输出,这是默认的处理方式。也就是说,除非使用“d”来删除此行,否则经过“模式空间”处理的行都是会被输出到标准输出上。-n选项会很严肃地警告 sed 命令:除非是明确表明要输出的行,否则不要胡乱输出。-n选项经常和 p 配合使用,其含义就是,输出那些匹配的行。

sed命令的参数选项:

sed的内置命令字符可用来实现对文件的不同操作功能,例如对文件的增删改查等

sed -n '2,3p' test.txt  #输出test.txt第2-3行的内容
sed -n '/zhangsan/p' test.txt  #过滤出含有zhangsan字符串的行
sed '/zhangsan/d' test.txt  #删除含有zhangsan字符串的行,sed命令的删除功能(d字符),默认不会修改文件,如果需要修改文件,则要用-i参数配合。
sed -i '3d' test.txt  #删除第3行
sed -i '5,8d' test.txt  #删除5-8行
sed 's#zhangsan#lisi#g' test.txt  #(g表示全局替换)将文件中的zhangsan字符串全部替换为lisi,sed命令的替换功能,默认不会修改文件,如果需要修改文件,则要用-i参数配合。
sed -e 's#zhangsan#lisi#g' -e 's#123456#654321#g' test.txt  #sed命令的-e参
数,多项编辑功能。
sed -i '2a hello' test.txt  #第2行后追加文本
sed -i '2i test' test.txt  #第2行后插入文本
sed '/[a,f]/w new.txt' test.txt  #过滤test.txt中含a,f的行写入new.txt

sed配合正则表达式的企业案例

#显示网卡信息
ifconfig ens33
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
       inet 192.168.80.100 netmask 255.255.255.0 broadcast 192.168.80.255
       inet6 fe80::b6e7:a5be:2dd8:daf prefixlen 64 scopeid 0x20<link>
       ether 00:0c:29:59:be:80 txqueuelen 1000 (Ethernet)
       RX packets 3588 bytes 247101 (241.3 KiB)
       RX errors 0 dropped 0 overruns 0 frame 0
       TX packets 1267 bytes 163374 (159.5 KiB)
       TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
#获取网卡信息中的ip地址
ifconfig ens33|sed -n '2s#^.*inet##gp'|sed -n 's#netm.*$##gp'  #使用多次管道
ifconfig ens33|sed -ne '2s#^.*inet ##g' -ne '2s#netm.*$##gp'  #使用-e完成多次处理
ifconfig ens33|sed -nr '2s#^.*inet (.*) netm.*$#\1#gp'  #-r表示支持扩展的正则表达式,支持正则中的小括号

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

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

相关文章

CentOS 7 使用Docker

参考资料 Docker命令大全 黑马程序员docker实操教程 &#xff08;黑马讲的真的不错 容器与虚拟机 安装 yum install -y docker Docker服务命令 启动服务 systemctl start docker停止服务 systemctl stop docker重启服务 systemctl restart docker查看docker服务状态 syste…

拨2个号时报错All TAP-Windows adapters on this system are currently in use.

管理员运行addtap.bat 可以看到&#xff0c;有两个TAP-Windows Adapter V9适配器了

拼多多API接口的使用方针如下:

了解拼多多API接口 拼多多API接口是拼多多网提供的一种应用程序接口&#xff0c;允许开发者通过程序访问拼多多网站的数据和功能。通过拼多多API接口&#xff0c;开发者可以开发各种应用程序&#xff0c;如店铺管理工具、数据分析工具、购物比价工具等。在本章中&#xff0c;我…

管易云与网易互客对接集成发货单查询2.0连通编辑订单(管易包裹物流=>互客销售订单物流(修改)V1)

管易云与网易互客对接集成发货单查询2.0连通编辑订单(管易包裹物流>互客销售订单物流&#xff08;修改&#xff09;V1) 来源系统:管易云 管易云是金蝶旗下专注提供电商企业管理软件服务的子品牌&#xff0c;先后开发了C-ERP、EC-OMS、EC-WMS、E店管家、BBC、B2B、B2C商城网站…

在PyCharm中添加anaconda环境

本文略过创建anaconda环境的部分~ 下文默认anaconda环境已经创建好 1. 点击新建项目 2. 1&#xff09;修改项目名称 2&#xff09;选择 “Previously configured interpreter” 曾经配置的解释器 3&#xff09;选择“Add Interpreter” 添加新的解释器 3. 选择 “A…

外包干了2个月,技术退步明显....

先说一下自己的情况&#xff0c;大专生&#xff0c;18年通过校招进入武汉某软件公司&#xff0c;干了接近4年的功能测试&#xff0c;今年年初&#xff0c;感觉自己不能够在这样下去了&#xff0c;长时间呆在一个舒适的环境会让一个人堕落&#xff01;而我已经在一个企业干了四年…

javaee之Elasticsearch相关知识

简单说一下Elasticsearch相关知识 其余的参考官网文档 我们还可以用下面的方式来查 看一下原始索引库的模板 下面看一下数据库映射关系 下面就是更改了id1的所有数据 下面是我索引库中的内容 说一下查询之后&#xff0c;一些属性的含义 上面案例是这样理解的 match查询类型会对…

【微信小程序】初始微信小程序

&#x1f5a5;️&#x1f5a5;️&#x1f5a5;️ 博主主页&#xff1a; &#x1f449;&#x1f3fb; &#x1f449;&#x1f3fb; &#x1f449;&#x1f3fb; 糖 &#xff0d;O&#xff0d; &#x1f6a9;&#x1f6a9;&#x1f6a9;微信小程序专栏&#xff1a;微信小程序 &…

设计模式再探——模板方法模式

目录 一、背景介绍二、思路&方案三、过程1.模板方法模式简介2.模板方法模式的类图3.模板方法模式代码4.模板方法模式中的父类为抽象类&#xff0c;为什么不是接口&#xff1f;5.模板方法模式中方法级别的单一职责 四、总结五、升华 一、背景介绍 最近公司在做颗粒业务的时…

关于Chrome浏览器打开某网页报 连接已重置 的解决方法

问题描述&#xff1a; Chrome浏览器&#xff08;117版本&#xff09;昨天打开内网站点正常&#xff0c;今天打开时报连接已重置&#xff0c;网页打不开。其他浏览器打开正常。 解决方案1&#xff1a;刷新DNS &#xff0d;&#xff0d;&#xff0d; 失败 1、 打开命令行窗口 2、…

超简单的视频截取方法,迅速提取所需片段!

“视频可以截取吗&#xff1f;用相机拍摄了一段视频&#xff0c;但是中途相机发生了故障&#xff0c;录进去了很多不需要的片段&#xff0c;现在想截取一部分视频出来&#xff0c;但是不知道方法&#xff0c;想问问广大的网友&#xff0c;知不知道视频截取的方法。” 无论是工…

葡萄酒按名称分类保护的重要事件有哪些?

葡萄酒可以根据各种方法来进行分类&#xff0c;可以是原产地或称谓&#xff0c;可以是酿造方法和风格&#xff0c;可以是甜味和年份&#xff0c;也可以是使用的葡萄品种。来自云仓酒庄品牌雷盛红酒分享不同原籍国和地区对葡萄酒的分类做法各不相同&#xff0c;许多做法会随着时…

Linux 安装

本章节我们将为大家介绍 Linux 的安装&#xff0c;安装步骤比较繁琐&#xff0c;现在其实云服务器挺普遍的&#xff0c;价格也便宜&#xff0c;如果自己不想搭建&#xff0c;也可以直接买一台学习用用. 本章节以 centos6.4 为例。 centos 下载地址&#xff1a; 可以去官网下载…

python3.0 安装后再 cmd下弹win10应用商店的问题

1、问题描述 安装了最新的python安装包后&#xff0c;再cmd上输入&#xff1a;python --version 无效&#xff0c; 然后输入 python 后弹出商店。 2、问题解决 看了很多解决办法都是编辑用户环境变量&#xff0c;将这个python的环境变量放在windowsApps上面&#xff0c;尝试了…

3D灌篮高手

欢迎来到程序小院 3D灌篮高手 玩法&#xff1a; 鼠标左键点击按住屏幕&#xff0c;左边力度条在红色区域时松开鼠标投篮&#xff0c;30秒内完成投篮&#xff0c;统计投中次数&#xff0c;快去成为灌篮高手吧^^。开始游戏https://www.ormcc.com/play/gameStart/186 html <d…

vcruntime140.dll找不到的解决方法-vcruntime140.dll日常修复方法分享

大家好&#xff01;今天&#xff0c;非常荣幸地向大家分享一个与我们日常生活息息相关的话题——电脑计算机突然出现vcruntime140.dll丢失如何修复。作为一名学生 &#xff0c;我们每天都在使用电脑&#xff0c;而这个问题可能会时不时地困扰我们。那么&#xff0c;面对这个问…

用友U8-OA getSessionList.jsp信息泄露 复现

文章目录 用友U8-OA getSessionList.jsp信息泄露 复现0x01 前言0x02 漏洞描述0x03 影响平台0x04 漏洞环境0x05 漏洞复现1.访问漏洞环境2.构造POC3.复现4.漏洞进一步利用 用友U8-OA getSessionList.jsp信息泄露 复现 0x01 前言 免责声明&#xff1a;请勿利用文章内的相关技术从…

js高级(代理,浅拷贝深拷贝,节流和防抖,闭包.hasOwnProperty)

1.代理 1.问题:如何定义一个对象,不会被修改,也不能被遍历? 通过Object.defineProperty(对象,属性名,option)定义默认属性 无法被修改无法被删除无法被遍历 注意:Object.Property传入的值与返回的值是同一个地址 可以配置一下属性 value:初始值writable:true (true允许被修改…

sylar高性能服务器-日志(P1-P6)代码解析+调试分析

文章目录 一、整体结构二、LogEvent三、LogLevel四、LogFormatter五、LogAppender六、Logger七、调试7.1调试步骤7.2尝试使用gdb调试 八、附录8.1log.h8.2log.cc8.3test.cc8.4Cmakelists.txt8.4Cmakelists.txt ​ 本篇文章主要针对一下sylar高性能服务器项目视频p1-p6的代码分析…

大华智慧园区管理平台任意密码读取漏洞 复现

文章目录 大华智慧园区管理平台任意密码读取漏洞 复现0x01 前言0x02 漏洞描述0x03 影响平台0x04 漏洞环境0x05 漏洞复现1.访问漏洞环境2.构造POC3.复现 大华智慧园区管理平台任意密码读取漏洞 复现 0x01 前言 免责声明&#xff1a;请勿利用文章内的相关技术从事非法测试&…