了解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】

最新文章

  1. iOS 离屏渲染的研究
  2. ngRoute插件
  3. .Net下的 ORM框架介紹
  4. linux下使用g++编译cpp工程
  5. 基础知识复习(二)——stdafx.h 头文件及x&(x-1)运算
  6. Bugfree实用心得_转
  7. sqlhelper-sql数据库
  8. 开源堡垒机GateOne的安装、配置笔记
  9. [HIve - LanguageManual] Subqueries
  10. Python PIL创建文字图片
  11. servlet中的过滤器 国际化
  12. poj 2486 Apple Tree(树形DP 状态方程有点难想)
  13. Swift:Minimizing Annotation with Type Inference
  14. mysql数据库中的数据导入与导出
  15. DB9 ------ 接口定义
  16. for循环两个略骚的写法
  17. android使用inject需要注意的地方
  18. IIS7.5中调试.Net 4.0网站出现无厘头500错误的解决办法 (转)
  19. stopImmediatePropagation和stopPropagation (事件、防止侦听)
  20. CCCC训练赛一些模板 struct sstream

热门文章

  1. Linux Resin4.0 安装配置
  2. 在centos 下安装配置基于gitosis 的git 服务
  3. 分布式缓存产品Redis和memcached比较区别(图)
  4. Linux 安装lamp
  5. 基于size的优化
  6. wampserver无法打开http://127.0.0.1/
  7. opennebula image单个实例响应数据格式
  8. Solidity string to uint
  9. 264E Roadside Trees
  10. Sqlserver中的几把锁和.net中的事务级别