Linux centos7 sed工具介绍
一、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工具介绍的更多相关文章
- Linux centos7 rsync工具介绍、rsync常用选项、rsync通过ssh同步
一.rsync工具介绍 rsync是类unix系统下的数据镜像备份工具,从软件的命名上就可以看出来了——remote sync.rsync是Linux系统下的文件同步和数据传输工具,它采用“rsync ...
- 用户管理 之 Linux 用户管理工具介绍
Linux是一个多用户的操作系统,她有完美的用户管理工具,这些工具包括用户的查询.添加.修改,以及用户之间相互切换的工具等:通过这些工具,我们能安全.轻松的完成用户管理: 在这里我们要引入用户控制工具 ...
- linux学习——sed工具
命令格式: sed [-nefr] [动作] 1.sed可以分析标准输入(STDIN)的数据,然后将数据处理后,再将他输出到标准输出(STDOUT),他有替换.删除.新增.选定特定行等处理功能.sed ...
- Linux CentOS7 VMware正则介绍、grep工具、egrep表达式
一.正则介绍 正则是学习shell脚本的必学的内容,正则学的好坏直接影响到shell编程能力. 正则表达式:使用单个字符串来描述或匹配一系列符合某个句法规则的字符串.通常用来检索和替换那些符合某个模式 ...
- Linux程序分析工具介绍—ldd,nm
原文链接:http://blog.csdn.net/statdm/article/details/7759100 本文要介绍的ldd和nm是linux下,两个用来分析程序很实用的工具.ldd是用来分析 ...
- linux程序分析工具介绍(三)——sar
本文要介绍的sar,是linux下用来分析系统本身运行情况的非常有用的工具.我们知道,程序在操作系统上要运行,要关注的点不外乎内存,CPU和IO(包括磁盘IO和网络IO).我们的应用程序在操作系统中运 ...
- linux程序分析工具介绍(二)—-ldd,nm
本文要介绍的ldd和nm是linux下,两个用来分析程序很实用的工具.ldd是用来分析程序运行时需要依赖的动态库的工具:nm是用来查看指定程序中的符号表相关内容的工具.下面通过例子,分别来介绍一下这两 ...
- linux程序分析工具介绍(一)—-”/proc”
写在最前面:在开始本文之前,笔者认为先有必要介绍一下linux下的man,如果读者手头用linux系统,直接在终端输入man man便可以看到详细的说明,我在这里简单的总结一下,man命令是用来查看l ...
- Linux centos7 awk工具
一.awk介绍 awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大.简单来说awk含盖sed所有功能,把文件逐行的读入,以空格为默认分隔 ...
随机推荐
- properties配置文件在idea中默认utf-8可能会乱码
改一个设置就好了
- spark sql 访问mysql数据库
pom.xml <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-ja ...
- python中的type和object详解
关于这篇博客 这篇博客主要描述Python的新风格对象(new-style objects),如下: <type 'type'>和<type 'object'>分别是什么? 用 ...
- 关于永久POE
1.传统POE 在我们的企业网络中,经常会使用交换机给IP电话或者无线AP供电,以使得其正常的工作. 正常情况下,我们都知道,普通的POE是在PSE交换机启动完成后,然后再给PD(Power Devi ...
- LeetCode简单题(四)
题目一: 给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格. 设计一个算法来计算你所能获取的最大利润.你可以尽可能地完成更多的交易(多次买卖一支股票). 注意:你不能同时参与多笔交易(你 ...
- problem :无法显示activemq的管理界面
点击 Manage ActiveMQ broker 无法显示admin界面 解决方法:修改activemq.xml 和 jetty.xml文件 把所有0.0.0.0修改为127.0.0.1 成功: 账 ...
- 操作系统OS - 常见系统的调度算法
https://en.wikipedia.org/wiki/Scheduling_(computing) 在wiki的下面可以找到
- springboot搭建的web数据提交乱码
修改:application.yml或者application.properties文件 将 url: jdbc:mysql://127.0.0.1:3306/shiro 修改为: url: jdbc ...
- Mysql将2张字段不同的表拼接起来
select id,mobile,realname as name,weixin as message_note,address_des as address,create_time,cateid f ...
- ipmitool命令
1.remote access control powerIpmitool -I lanplus -H 192.168.0.10 -U username -P Password chassis pow ...