第6周第4次课(4月26日)

课程内容:

9.4/9.5 sed

9.4/9.5 sed

操作实例如下

sed和grep比较起来,sed也可以实现grep的功能,但是没有颜色显示,sed强项是替换一些指定的字符。

sed  实现匹配的功能

[root@jimmylinux-002 sed]# sed '/root/'p test.txt  把文件所有内容都打印出来

[root@jimmylinux-002 sed]# sed -n '/root/'p test.txt

这样就可以只匹配关键词内容,其他无关的不打印出来。

同样也支持.、*、+、花括号这样的选项

打印指定的行

sed -e    不仅要把指定的第几行打印出来,还要匹配满足的字符串。

sed -e匹配一次,后面的root有符合一次,所以打印出来2行一样的内容。

[root@jimmylinux-002 sed]# sed -n '/bus/'Ip test.txt

加大写I也可以不区分大小写,会把带bus无论大小写的都打印出来。

使用d选项可以删除指定的行

[root@jimmylinux-002 sed]# sed -i '/user2/'d test.txt  把user2相关的行删除

[root@jimmylinux-002 sed]# sed '1,10s/root/toor/g' test.txt  s表示替换,g表示全局,把root替换成toor。

[root@jimmylinux-002 sed]# sed -r '1,10s/ro+/r/g' test.txt  支持正则表达式去查找替换

[root@jimmylinux-002 sed]# head test.txt |sed -r 's/([^:]+):(.*):([^:]+)/\3:2:\1/'

把第一段和最后一段交换,就是root和bin/bash、bin和sbin/nologin 顺序前后交换。

[root@jimmylinux-002 sed]# head test.txt |sed 's/[a-zA-Z]//g'

把文档里面所有的英文字母全部删除掉,最后就只剩数字和一些特殊符号了。

[root@jimmylinux-002 sed]# head test.txt |sed -r 's/(.*)/aaa:&/'

在所有行前面加上一个固定的字符串

sed 使用介绍的更多相关文章

  1. unix的sed 用法介绍

    sed是一个非交互性性文本编辑器,它编辑文件或标准输入导出的文件拷贝.标准输入可能是来自键盘.文件重定向.字符串或变量,或者是一个管道文件.sed可以随意编辑小或大的文件,有许多sed命令用来编辑.删 ...

  2. Linux centos7 sed工具介绍

    一.sed上 grep工具功能只能实现查找,不能把查找的内容替换. sed本身是一个管道命令,主要是以行为单位进行处理,可以将数据行进行查找.删除.替换字符或字符串.调换字符串位置.直接修改文件内容等 ...

  3. sed命令使用介绍(转载)

    sed命令介绍 (转自:http://www.cnblogs.com/ggjucheng/archive/2013/01/13/2856901.html) 简介 sed 是一种在线编辑器,它一次处理一 ...

  4. Linux的sed命令

    一.初识sed 在部署openstack的过程中,会接触到大量的sed命令,比如 # Bind MySQL service to all network interfaces.sed -i 's/12 ...

  5. linux sed命令

    一.初识sed 在部署openstack的过程中,会接触到大量的sed命令,比如 # Bind MySQL service to all network interfaces. sed -i 's/1 ...

  6. sed命令使用记录

    背景:文件A,文件B,文件格式一致,有两列,第一列为key,第二列为value. 目的:将文件A中的内容插入到文件B中,不能在最后,不能有重复key(我的key和value用tab键分割) 实现:我的 ...

  7. linux-shell脚本命令之sed

    [ sed简单介绍: ] sed是一个非常好的文件处理工具, 它本身是一个管道命令, 以行为单位进行处理, 能够用于对数据行进行新增.选取.替换.删除等操作. sed命令行格式:sed [-nefri ...

  8. sed命令针对文件操作具体解释

    Linux的简单shell脚本中改动文件操作 1.Sed简单介绍 sed 是一种在线编辑器,它一次处理一行内容.处理时.把当前处理的行存储在暂时缓冲区中,称为"模式空间"(patt ...

  9. LINUX系统下的shell命令---grep、sed、awk

    1)grep文本过滤命令 1.grep基本认识 (Global  search  regular expression and  print  out the  line全局搜索研究正则表达时并显示出 ...

随机推荐

  1. Codeforces Round #595 (Div. 3)D1D2 贪心 STL

    一道用STL的贪心,正好可以用来学习使用STL库 题目大意:给出n条可以内含,相交,分离的线段,如果重叠条数超过k次则为坏点,n,k<2e5 所以我们贪心的想我们从左往右遍历,如果重合部分条数超 ...

  2. 第四十章 POSIX条件变量

    条件变量 当一个线程互斥地访问某个变量时,它可能发现在其它线程改变状态之前,它什么也做不了 例如一个线程访问队列时,发现队列为空,它只能等待,只到其它线程将一个节点添加到队列中.这种情况就需要用到条件 ...

  3. 翻遍互联网都找不到的解决方案,一行代码轻松实现 Gitbook 默认折叠左侧菜单效果

    Gitbook 是一款产品文档构建工具,也可以用于构建个人博客,默认情况下电脑端访问时左侧菜单是展开状态,可偏偏有人想要实现默认折叠效果,于是诞生了这篇文章! 善良的我选择帮助别人 可能是网上关于 G ...

  4. Vue项目中执行npm run dev 不报错也不显示点击的地址链接

    问题描述: 输入npm run dev 没有报错也没有显示可以点击的地址链接,如下图: 解决方法: 具体配置: autoOpenBrowser默认为false,改为true.重新 npm run de ...

  5. NOIP模拟14-16

    最近事情有些多,先咕了! 鸽了,时间太久远了,写了话坑太大,太费时间了!

  6. php自定义截取中文字符串-utf8版

    php自定义截取中文字符串-utf8版 UTF-8的编码范围(utf-8使用1-6个字节编码字符,实际上只使用了1-4字节): 1个字节:00——7F 2个字节:C080——DFBF 3个字符:E08 ...

  7. 更改微信小程序的组件默认样式

    checkbox /*checkbox 整体大小  */ .checkbox {      width: 12%;      /* height: 240rpx; */ } /*checkbox 选项 ...

  8. 微信小程序引入全局或公共样式

    在开发的过程中,总会遇到很多可复用性的样式,为了代码更加的简洁和减少微不住道的文件体积,我抽取了一部分的公共样式,并全局引入,不知是否妥当,如有更好的想法,欢迎一起探讨 在app.wxss中引入 然后 ...

  9. PHP队列的实现详细操作步骤

    队列是一种特殊的线性表,它只允许在表的前端,可以称之为front,进行删除操作:而在表的后端,可以称之为rear进行插入操作.队列和堆栈一样,是一种操作受限制的线性表,和堆栈不同之处在于:队列是遵循“ ...

  10. Look into Bitmap images

    What's a Bitmap image? I'm not going to explain the differences between raster and vector images, no ...