Shell系列(23)- 字符截取命令sed
2023-02-18 16:27:24 时间
简述
- 字符替换命令sed
- 和vi功能相似,但是vi是给用户用的,sed是给脚本用的
- sed是一种几乎包括在所有的UNIX平台(包括Linux)的轻量级流编辑器。s
- sed主要是用来将数据进行选取、替换、删除、新增的命令。
- 可以和管道符配合使用
格式
命令
sed [选项] '[动作]' [文件名]
选项
- -n 只输出经过sed处理过的行到屏幕;把进过sed处理的行输出到屏幕上,没加全部输出
- -e 允许一次应用多个动作;加了可以执行多条命令
- -i 直接修改文件,并且不由屏幕输出;没加,执行临时修改,加了永久修改文件
动作
- -a:追加,在当前行后添加一行或多行
- -c:行替换,用c后面的字符串替换原数据行
- -i:插入,在当前行插入一行或多行。
- -d:删除,删除指定的行
- -p:打印,输出指定的行
- -s:字符串替换,用一个字符串替换另外一个字符串;格式为"行范围s/旧字串/新字串/g"
例子
动作'p'+选项i-输出指定行
- sed '2p' zifu1.text
- #查看文件的第二行
- sed -n '2p' zifu1.text
- #没有-n,p没有意义,所有p的和选项-n一起使用
动作'd'-删除
- sed ’2d‘ zifu1.text
- #删除第二行的数据
- sed '2,4d' zifu1.text
- #删除第二行到第四行的数据,但不修改文件本身,加选项-i对文件进行操作
动作'a'-追加
- sed '2a 下面是基本信息' zifu1.text
- #在第二行后追加信息
- #格式'第几行+动作a+空格+追加信息'
动作'i'-插入
- sed '2i 这是基本信息' zifu1.text
- #在第二行前插入信息
- #格式'第几行+动作i+空格+插入信息'
动作'c'-替换
- sed '2c hello Shell' zifu1.text
- #第二行数据替换
- #格式'第几行+动作c+空格+替换信息'
动作's'+选项i+选项e-字符串替换
- sed 's/旧字串/新字串/g' 文件名
- g的作用把碰到所有符合条件的全部替换
- ?基本格式
- ?具体实例
- sed '2s/55/100/g' zifu1.text
- #在第二行中,把55换成100
- sed -i '2s55/100/g' zifu1.text
- #把数据写入文件
- sed -e 's/张三//g;s/王五//g' zifu1.text
- 同时把“张三”和“王五”替换为空
- sed 's/100/0/g' zifu1.text
- #不加行号时候,全文匹配替换
相关文章
- 一次 Redis 事务使用不当引发的生产事故
- 前端基础(6) - 入门jQuery编程
- 前端基础(4) - CSS定位
- 前端基础(3) - CSS浮动
- 前端基础(2) - CSS入门
- 前端基础(1) - HTML入门
- 爬虫(15) - Scrapy-Redis分布式爬虫(2) | 实例:分布式爬虫项目
- 爬虫(14) - Scrapy-Redis分布式爬虫(1) | 详解
- 爬虫(13) - 反爬虫(2) | 项目示例-爬取瓜子二手车网站数据
- 爬虫(12) - 反爬虫(1) | 详解
- 爬虫(11) - Scrapy框架(3) | 示例项目抓取并下载网站图片
- 爬虫(10) - Scrapy框架(2) | 伪装爬虫
- 爬虫(9) - Scrapy框架(1) | Scrapy 异步网络爬虫框架
- 爬虫(8) - 可视化爬虫框架Selenium
- 爬虫(7) - 网页数据解析(3) | lxml解析数据
- 爬虫(6) - 网页数据解析(2) | BeautifulSoup4在爬虫中的使用
- 爬虫(5) - 网页数据解析(1) | XPath在爬虫中的应用
- 解决方案:可以ping别人,但是别人不能ping我
- 爬虫(4) - Requests(3) | Requests常用场景方法
- 爬虫(3) - Requests(2) | Requests模块的方法、关键字和响应对象属性总结