sed的基本用法
2024-08-24 21:43:15
了解sed的基本参数
sed匹配的方法: '//'p, 此符号与grep的引号类似,但sed是一定加此符号的,且还要加上-n的参数,匹配起来相当麻烦。
sed匹配的方法: '//'pI 加上I的参数是指不区分大小写
sed的匹配删除: '//'d d配置出来直接删除,也可以指定行删除。如我要删除1-10行的文件:sed -i '1,10'd filename
sed的替换匹配: '1,10s/old/new/g 1,10表示一个范围,指1到10行 例子:替换10到50行内的root用户替换成yeyu用户: sed -i '10,50s/root/yeyu/g' filenmae
sed在开头添加: head filename |sed -r 's/(.*)/new:&/g' new:是指添加的内容。 (.*)表示一整行,后面的&代表前面的(.*)字符。
-r # 脱义参数,与grep的-E参数一样。
-n # 可以打印指定的行, sed -n '10'p fielname 或者 sed -n '2,5'p filename 或者 '5,$' 表示5到最后
-e # 可以同时写多个条件,匹配出来
-i # 改变原文件。
了解的sed的一些基本用法,我们来举几个例子实现下,正确的用法吧
1.通过sed在第5-9行开头插入"我爱你"
sed -i '5,9s/^/我爱你/g' install_nginx.sh
2.结尾插入"完美世界"
sed -i '5,9s/$/完美世界/g' install_nginx.sh
3.比如删掉5-9行,或者含有ansible的行
sed -in '5,9'd install_nginx.sh sed -i '/ansible/'d install_nginx.sh
4. 最后把test替换成yy_tomcat_gateway
sed 's/test/yy_tomcat_gateway/g' install_nginx.sh (这里没加-i参数,直接打印在桌面)
举了几个简单的例子,希望对大家有帮助。正则还是得多用才会慢慢熟悉
截取固定时间段的日志
sed -n '/2019-12-04 17:50:00/,/2019-12-04 18:00:00/'p mq_consumer.2019-12-04.log >12_04-2.log
【end】
最新文章
- iOS 离屏渲染的研究
- ngRoute插件
- .Net下的 ORM框架介紹
- linux下使用g++编译cpp工程
- 基础知识复习(二)——stdafx.h 头文件及x&;(x-1)运算
- Bugfree实用心得_转
- sqlhelper-sql数据库
- 开源堡垒机GateOne的安装、配置笔记
- [HIve - LanguageManual] Subqueries
- Python PIL创建文字图片
- servlet中的过滤器 国际化
- poj 2486 Apple Tree(树形DP 状态方程有点难想)
- Swift:Minimizing Annotation with Type Inference
- mysql数据库中的数据导入与导出
- DB9 ------ 接口定义
- for循环两个略骚的写法
- android使用inject需要注意的地方
- IIS7.5中调试.Net 4.0网站出现无厘头500错误的解决办法 (转)
- stopImmediatePropagation和stopPropagation (事件、防止侦听)
- CCCC训练赛一些模板 struct sstream