一、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. No space left on device(总结)

    ..1 提示磁盘满了 df -hT 没有满 请问可能原因 可能是inode满了,原因是机器上的小文件太多了 使用df -hi 查看 ..2 提示没有磁盘空间已经满了 ..2.1 问题描述: 发现是日志 ...

  2. Linux系统常用运维命令汇总

    因为这段时间加入Java后台开发,所以对Java后台开发必会的Linux系统指令进行了熟悉这里进行汇总; tar 参数说明:-x: 解压 -z:有gzip属性 -v:显示所有过程 -f:文件名 -c: ...

  3. ROS学习资源

    1.ROS机器人操作系统自主学习实践环境 https://www.shiyanlou.com/courses/854 2.ROS官方网站 http://wiki.ros.org/ ROS中文官方网站 ...

  4. layer.open({}) 子页面传参并调用父页面的方法

    闲话少说先看效果!!! 说明适用场景:在a.jsp页面,点击查看一个文件,layer.open弹出b.jsp页面,在b.jsp页面可以修改文件的名称(其实是去改了数据库),但是关闭弹窗的后,要求不刷新 ...

  5. Manacher算法--O(n)回文子串算法

    转自:http://blog.csdn.net/ggggiqnypgjg/article/details/6645824 O(n)回文子串算法 注:转载的这篇文章,我发现下面那个源代码有点bug... ...

  6. 杭电 1203 I NEED A OFFER!

    I NEED A OFFER! Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)T ...

  7. 2016-2017学年第三次测试赛 问题 F: 签到题

    问题 F: 签到题 时间限制: 1 Sec  内存限制: 128 MB提交: 80  解决: 28 提交统计讨论版 题目描述 在计算机网络考试中, 黑帅男神看到一个将IP网络分类的题, 精通C++的他 ...

  8. 【转】ssh 远程执行命令

    原文:https://blog.csdn.net/liuxiao723846/article/details/82667482 SSH 是 Linux 下进行远程连接的基本工具,不光可以登录,也可以远 ...

  9. 重装VisualSVN Server报错

    由于eclipse无法连接SVN服务器,尝试着重装SVN,安装到一半时,弹出如下图所示错误: 打开提示窗口输入services.msc,进入服务界面: 发现VisualSVN Server服务无法启动 ...

  10. WPF TreeGrid Binding 简易实现方式

    在設計TreeView編輯狀況下,希望 TreeItemName 后续的编辑框 复选框 可以整齐排列. 参考微软提供的TREELISTVIEW,发现它是根据层级关系调整Margin 属性. 我这边按照 ...