一、sed上

grep工具功能只能实现查找,不能把查找的内容替换。

sed本身是一个管道命令,主要是以行为单位进行处理,可以将数据行进行查找、删除、替换字符或字符串、调换字符串位置、直接修改文件内容等特定工作,针对文档的行来操作,例如.txt。

[root@davery ~]# mkdir sed
[root@davery ~]# cd sed
[root@davery sed]# cp ../grep/passwd 0.txt
[root@davery sed]#
[root@davery sed]# pwd
/root/sed
[root@davery sed]# ls
0.txt
[root@davery sed]#

查找:sed -n '/关键词/'p  文件名 

[root@davery sed]# sed -n '2'p 0.txt  显示第二行

[root@davery sed]# sed '15,$'p 0.txt  显示15行到最后一行

[root@davery sed]# sed -n '1,$'p 0.txt 显示全部

[root@davery sed]#sed -n '/^1/'p 0.txt

[root@davery sed]#sed -n '/in$/'p 0.txt

[root@davery sed]#sed -n '/r..o/'p 0.txt

[root@davery sed]#sed -n '/oo*/'p 0.txt

[root@davery sed]#sed -n '/oo*/'Ip 0.txt   加入大写I,不区分大小写

删除:sed -n  '关键词'p 文件名   ,仅仅是在屏幕中列出未删除的行,其实原文件并没有被删除。

[root@davery sed]#sed -n '5'p 0.txt

[root@davery sed]#sed -n '1,5'p 0.txt

[root@davery sed]#sed -n '1,$'p 0.txt

[root@davery sed]#sed -n '/root/'p 0.txt

[root@davery sed]#sed -n '/^1/'p 0.txt

[root@davery sed]#sed -n '/in$/'p 0.txt

[root@davery sed]#sed -n '/r..o/'p 0.txt

[root@davery sed]#sed -n '/oo*/'p 0.txt

替换: s表示替换动作,g表示本行全局替换,除了用/作为分割符,也可用特殊字符#、@

[root@davery sed]# sed '1,2s/ot/to/g' 0.txt  第一二行,ot替换成to

[root@davery sed]# sed -r '1,2s/ot+/to/g' 0.txt

[root@davery sed]# sed 's#ot#to#g' 0.txt

[root@davery sed]# sed 's@ot@to@g' 0.txt

[root@davery sed]# sed 's/[0-9]//g' 0.txt

[root@davery sed]# sed 's/[a-zA-Z]//g' 0.txt

调换两个字符位置

[root@davery sed]# sed 's/\(root\)\(.*\)\(bash\)/\3\2\1/' 0.txt

[root@davery sed]# sed -r 's/(root)(.*)(bash)/\3\2\1/' 0.txt    加入-r表达式更清晰

bash:x:0:0:root:/root:/bin/root

[root@davery sed]# sed -r 's/(uaer)(.*)(bash)/\3\2\1/' 0.txt

bash1:x:1001:1004::/home/uaer1:/bin/uaer

[root@davery sed]# sed 's/^.*$/123&/' 0.txt      最前边加123  

123root:x:0:0:root:/root:/bin/bash
123bin:x:1:1:bin:/bin:/sbin/NOLOGIN

直接修改文件内容

[root@davery sed]# sed -i 's/root/toor/g' 0.txt
[root@davery sed]# cat 0.txt
toor:x:0:0:toor:/toor:/bin/bash

例子

[root@davery sed]# sed '/root/'p 0.txt   会显示所有行
root:x:0:0:root:/root:/bin/bash
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/NOLOGIN
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
[root@davery sed]# sed -n '/root/'p 0.txt  只把关键词目标行显示出来
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin

[root@davery sed]# sed -nr '/root|bus/'p 0.txt   加入r

root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin

[root@davery sed]# sed -nr '/o+t/'p 0.txt
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin

dbus:x:81:81:System message bus:/:/sbin/nologin

[root@davery sed]# sed -nr '/o{2}/'p 0.txt
root:x:0:0:root:/root:/bin/bash
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin

Linux centos7 sed工具介绍的更多相关文章

  1. Linux centos7 rsync工具介绍、rsync常用选项、rsync通过ssh同步

    一.rsync工具介绍 rsync是类unix系统下的数据镜像备份工具,从软件的命名上就可以看出来了——remote sync.rsync是Linux系统下的文件同步和数据传输工具,它采用“rsync ...

  2. 用户管理 之 Linux 用户管理工具介绍

    Linux是一个多用户的操作系统,她有完美的用户管理工具,这些工具包括用户的查询.添加.修改,以及用户之间相互切换的工具等:通过这些工具,我们能安全.轻松的完成用户管理: 在这里我们要引入用户控制工具 ...

  3. linux学习——sed工具

    命令格式: sed [-nefr] [动作] 1.sed可以分析标准输入(STDIN)的数据,然后将数据处理后,再将他输出到标准输出(STDOUT),他有替换.删除.新增.选定特定行等处理功能.sed ...

  4. Linux CentOS7 VMware正则介绍、grep工具、egrep表达式

    一.正则介绍 正则是学习shell脚本的必学的内容,正则学的好坏直接影响到shell编程能力. 正则表达式:使用单个字符串来描述或匹配一系列符合某个句法规则的字符串.通常用来检索和替换那些符合某个模式 ...

  5. Linux程序分析工具介绍—ldd,nm

    原文链接:http://blog.csdn.net/statdm/article/details/7759100 本文要介绍的ldd和nm是linux下,两个用来分析程序很实用的工具.ldd是用来分析 ...

  6. linux程序分析工具介绍(三)——sar

    本文要介绍的sar,是linux下用来分析系统本身运行情况的非常有用的工具.我们知道,程序在操作系统上要运行,要关注的点不外乎内存,CPU和IO(包括磁盘IO和网络IO).我们的应用程序在操作系统中运 ...

  7. linux程序分析工具介绍(二)—-ldd,nm

    本文要介绍的ldd和nm是linux下,两个用来分析程序很实用的工具.ldd是用来分析程序运行时需要依赖的动态库的工具:nm是用来查看指定程序中的符号表相关内容的工具.下面通过例子,分别来介绍一下这两 ...

  8. linux程序分析工具介绍(一)—-”/proc”

    写在最前面:在开始本文之前,笔者认为先有必要介绍一下linux下的man,如果读者手头用linux系统,直接在终端输入man man便可以看到详细的说明,我在这里简单的总结一下,man命令是用来查看l ...

  9. Linux centos7 awk工具

    一.awk介绍 awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大.简单来说awk含盖sed所有功能,把文件逐行的读入,以空格为默认分隔 ...

随机推荐

  1. properties配置文件在idea中默认utf-8可能会乱码

    改一个设置就好了

  2. spark sql 访问mysql数据库

    pom.xml <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-ja ...

  3. python中的type和object详解

    关于这篇博客 这篇博客主要描述Python的新风格对象(new-style objects),如下: <type 'type'>和<type 'object'>分别是什么? 用 ...

  4. 关于永久POE

    1.传统POE 在我们的企业网络中,经常会使用交换机给IP电话或者无线AP供电,以使得其正常的工作. 正常情况下,我们都知道,普通的POE是在PSE交换机启动完成后,然后再给PD(Power Devi ...

  5. LeetCode简单题(四)

    题目一: 给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格. 设计一个算法来计算你所能获取的最大利润.你可以尽可能地完成更多的交易(多次买卖一支股票). 注意:你不能同时参与多笔交易(你 ...

  6. problem :无法显示activemq的管理界面

    点击 Manage ActiveMQ broker 无法显示admin界面 解决方法:修改activemq.xml 和 jetty.xml文件 把所有0.0.0.0修改为127.0.0.1 成功: 账 ...

  7. 操作系统OS - 常见系统的调度算法

    https://en.wikipedia.org/wiki/Scheduling_(computing) 在wiki的下面可以找到

  8. springboot搭建的web数据提交乱码

    修改:application.yml或者application.properties文件 将 url: jdbc:mysql://127.0.0.1:3306/shiro 修改为: url: jdbc ...

  9. Mysql将2张字段不同的表拼接起来

    select id,mobile,realname as name,weixin as message_note,address_des as address,create_time,cateid f ...

  10. ipmitool命令

    1.remote access control powerIpmitool -I lanplus -H 192.168.0.10 -U username -P Password chassis pow ...