论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
IT评测·应用市场-qidao123.com
»
论坛
›
主机系统
›
linux
›
LINUX下令-sed
LINUX下令-sed
鼠扑
论坛元老
|
2024-6-29 04:26:12
|
来自手机
|
显示全部楼层
|
阅读模式
楼主
主题
1059
|
帖子
1059
|
积分
3177
本文编辑小绝技-sed
sed下令是用于对文本文件做内容操纵的神器,常见的增删改都可以,查没必要用它,用grep或者gvim打开用vim的搜索匹配就行。
sed 下令的基本格式如下:
sed -hnVi 'action'
复制代码
或者
sed -e expression
复制代码
参数说明:
参数含义及用法-hhelp-Vversion,版本信息-ised下令默认是将做的修改输出到终端中,并不对原始文件做修改,而-i参数后边的‘action’将直接对原始文件做修改,所以这招慎用。-nsed下令默认会将修改后文件的全部内容输出,-n则仅体现处理惩罚后的效果-e前边几个action要放在‘’里,而加-e则不需要了,直接写你的expression动作说明:
动作作用及用法a新增,会将a后的字符串在目的对象或者目的行的下一行增长,用法: 目的对象/目的行a\newline 目的file。留意a后边要跟反斜杠c替换,可以将目的对象或者目的行替换为c后边的字符串。用法:目的行/目的对象c\替换字符串 目的filed删除,将目的行目的对象删除。用法:目的对象/目的行d 目的file。d后边不跟任何东西。i插入,在目的对象/目的行上一行插入字符串,用法基本同a。p打印,将目的对象目的行打印出来,同样p后不跟任何东西,常和-n参数一起用。s替换,最最常用的,将目的范围行内的oldlstr替换为newstr。目的行,目的范围说明:
n第n行n1,n2n1到n2行^行首,多用在替换时正则匹配中$尾行;如果用在s的正则匹配中,代表行尾1首行目的对象说明:
目的对象及你想操纵的目的字符串,可以用正则匹配,用两个斜杠左右包围:
/目的对象或者目的字符串,可用正则匹配/
复制代码
下面是举了多少例子来练习,留意由于下面的练习都没加-i参数,所以都不是对原始文本直接做的修改,而是全部都输出到terminal上,同砚们在应用时如果需要下面的操纵都直接对原始文本做修改,sed后跟上 -i 参数就可以啦。
测试文件内容如图:
1.在第二行到第四行每行下边增长一行字符串“input [:]”
用-e的话就不消加‘’了
2.在首行前插入一行字符串“the lord ring”
3.删除整个文本中中间有空格的行,以及删除第三行到第五行之间的空格(就这个测试文件来说,其实就相当于删除全文的空格啦)
删除有空格的行:
删除第三行到第五行之间的空格,其实就是用s替换,将空格替换掉:
4.打印第6行,分别使用-n和不-n查看他们的差别
不-n
用-n
5.将3到4行替换为“new new”
6.查找并打印含有”wo“的行,并比较-n 和不 -n的差别
不-n
用-n
7.分别使用c动作和s动作,查找“wo”字符串并替换为“input [:]”
用c替换,由图可知,用c替换时将整个一行都替换掉了。
用s替换,由图可知s替换是只替换匹配到的字符。
8.$的使用,删除尾行;将ing结尾的替换为ed结尾
删除尾行
ing结尾替换为ed结尾
通过这些练习相信sed的常见用法你已经基本把握了,不管是写shell脚本照旧在terminal中提升自己的处理惩罚速度都很有用。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
鼠扑
论坛元老
这个人很懒什么都没写!
楼主热帖
Java 基于Apache POI实现Excel读写操作 ...
Dapr 知多少 | 分布式应用运行时 ...
XAF新手入门 - 类型子系统(Types Info ...
springboot开启单元测试的方法分享 ...
记录一次NoSuchMethodError问题的解决 ...
C#生成putty格式的ppk文件(支持passph ...
Python 封装SNMP调用接口
5.15日 搭建青龙面板教程——狗东跑跑 ...
风险洞察之事件总线的探索与演进 ...
SQLSERVER大小写转换方法
标签云
AI
运维
CIO
存储
服务器
浏览过的版块
数据仓库与分析
SAP
人工智能
IOS
开源技术
分布式数据库
运维.售后
Java
快速回复
返回顶部
返回列表