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

sed的基本用法的更多相关文章

  1. sed和awk用法

    sed和awk用法 Sed sed是一个很好的文件处理工具,本身是一个管道命令,主要是以行为单位进行处理,可以将数据行进行替换.删除.新增.选取等特定工作,下面先了解一下sed的用法sed命令行格式为 ...

  2. Linux三剑客之sed的基本用法介绍

    [介绍] sed是一款强大的非交互式的文本编辑器,可以对文件文本进行增删改查的相关操作,本文主要是讲解以下sed的基本用法. [常用选项] -e 下一个参数为一个sed指令,一般只会用于同一行有多个s ...

  3. sed的实际用法举例

    sed:Stream Editor文本流编辑,sed是一个“非交互式的”面向字符流的编辑器.能同时处理多个文件多行的内容,可以不对原文件改动,把整个文件输入到屏幕,可以把只匹配到模式的内容输入到屏幕上 ...

  4. fw:sed的高级用法

    转的,找不到原创了.... sed高级用法 <收藏> 首先,应该明白模式空间的定义.模式空间就是读入行所在的缓存,sed对文本行进行的处理都是在这个缓存中进行的.这对接下来 的学习是有帮助 ...

  5. sed的惯常用法

    1:注释掉某一行这个经常会遇到的,把配置文件里某一行注释掉.让他不起作用.sed -i -e ’121 s/^/#/’ /usr/local/apache2/conf/httpd.conf上面一行命令 ...

  6. grep,sed,awk用法整理

    grep -c 打印出符合要求的行数 -i 忽略大小写              ignore -n 连同符号一起输出          num -v 打印出不符合要求的行 -A2 本行及下面两行 - ...

  7. sed 以及 awk用法

    sed 格式 sed[options] "script" FILE.... 选项: -n:静默模式,不输出模式空间内的内容:默认打印空间模式的内容 -r:扩展的正则表达式 -f 文 ...

  8. sed的额外用法(网摘)

    #在我开始动手写一个一个的脚本的时候才会看到更多的用法 1. 在某行的前一行或后一行添加内容(前提是要确定行的内容) # 匹配行前加 sed -i '/allow/ideny' httpd.conf ...

  9. sed详解---用法及解释

    1.sed -n '2'p filename 打印文件的第二行. 2.sed -n '1,3'p filename 打印文件的1到3行 3. sed -n '/Neave/'p filename 打印 ...

随机推荐

  1. nodejs npm install -g 全局安装和非全局安装的区别

    1. npm install xxx -g 时, 模块将被下载安装到[全局目录]中. [全局目录]通过 npm config set prefix "目录路径" 来设置. 比如说, ...

  2. Dubbo简单介绍及其和zookeeper的关系

    何为Dubbo ​ Dubbox 是一个分布式服务框架,其前身是阿里巴巴开源项目Dubbo ,被国内电商及互联网项目中使用,后期阿里巴巴停止了该项目的维护,当当网便在Dubbo基础上进行优化,并继续维 ...

  3. java基础之JDBC五:批处理简单示例

    /** * 批处理 * 批处理跟事务不同 只是把一批sql放到一起执行 2条sql是可以一条执行成功 一条执行失败 是不可逆的 */ public class Test { public static ...

  4. 01.webservice介绍

    不实现异构,实现远程系统之间的调用.

  5. Codeforces 1120C Compress String(DP)

    题意:给你一个字符串,有2种消除方式:1:消除一个单独的字母,代价为a.2:s[j]到s[k]是s[1]到s[j - 1]的子串,那么s[j]到s[k]可以消除,代价为b,问最小的代价. 思路:官方题 ...

  6. PHP程序员求职经验总结

    这次来深圳找工作,是我人生中第一次正式的求职,也是第一份正式的工作.这几天收获不少,总结一下,"供后人参考"; 从7月23来深圳到今天刚好一个星期,这7天内我发了18封求职邮件,在 ...

  7. 利用JDBC连接数据库(MySQL)

    1 在eclipse中创建一个maven项目(在Java模式下,不要在JavaEE模式下) 1.1 file  -->> new  -->> project 2 下载数据库驱动 ...

  8. 解决error C2365

    今天把一个FILE_BOTH_DIRECTORY_INFORMATION结构的变量,愣是写成了“enum”枚举....然后出现error C2365错误. 在CSDN上看到别人遇到问题,有人回复了“如 ...

  9. Vue.js 安装及其环境搭建

    For me or other first studying vue.js. For Windows PC: 1.先安装node.js 安装官网最新的即可 版本应该要大于6.0版本 nodejs的官网 ...

  10. Entity Framework 6.0 Tutorials(7):DbSet.AddRange & DbSet.RemoveRange

    DbSet.AddRange & DbSet.RemoveRange: DbSet in EF 6 has introduced new methods AddRange & Remo ...