三剑客之SED
- Sed功能说明
[root@old ~]# sed --version #→ sed软件版本
GNU sed version 4.2.
- 命令执行流程
- 语法格式
- 指定执行的地址范围
- 增删改查 功能
[root@admin ~]# sed '2a 106,dandan,CSO' text.txt
,old,CEO
,zhang,CTO
,dandan,CSO
,Alex,COO
,yy,CFO
,feixue,CIO
[root@admin ~]# sed '2i 106,dandan,CSO' text.txt
,old,CEO
,dandan,CSO
,zhangyao,CTO
,Alex,COO
,yy,CFO
,feixue,CIO
- 删
[root@admin ~]# sed 'd' person.txt
[root@admin ~]#
[root@admin ~]# sed '2d' person.txt
,admn,CEO
,Alex,COO
,yy,CFO
,feixue,CIO
- 改
[root@admin ~]# sed '2c 106,dandan,CSO' person.txt
,admin,CEO
,dandan,CSO
,Alex,COO
,yy,CFO
,feixue,CIO
文本替换
[root@admin ~]# sed '3s#0#9#' text.txt ,admin,CEO
,zhang,CTO
,Alex,COO
,yy,CFO
,feixue,CIO
- 分组替换\( \)和\1的使用说明
[root@old ~]# echo I am old teacher. |sed 's#^.*am \([a-z].*\) tea.*$#\1#g'
old
[root@old ~]# echo I am old teacher. |sed -r 's#^.*am ([a-z].*) tea.*$#\1#g'
old
[root@old ~]# echo I am old teacher. |sed -r 's#I (.*) (.*) teacher.#\1\2#g'
amold
- 特殊符号&代表被替换的内容
[root@admin ~]# sed '1,3s#C#--&--#g' person.txt #→此处&等于C
,admin,--C--EO #→将1到3行的C替换为--C--
,zhang,--C--TO
,yy,--C--OO
,feixue,CFO
,dandan,CIO
- 查
admin[root@oldboy ~]# sed -n '2p' text.txt
,zhang,CTO
- sed模式空间
#cat test.txt
This is
This is
This is
This is
This is
sed -n 'N;P' test.txt -----因为读取第5行时,执行N,发现没有第6行,不满足,就退出,放弃P命令
This is
This is
sed -n ‘$!N;P’ test.txt
This is
This is
This is
注释:读取1,$!条件满足(不是尾行),执行N命令,得出1\n2,执行P,打印得1,读取3,$!条件满足(不是尾行),执行N命令,得出3\n4,执行P,打印得3,读取5,$!条件不满足,跳过N,执行P,打印得5
[root@localhost ~]# sed ‘n;d’ a.txt
This is
This is
This is
注释:读取1,执行n,得出2,执行d,删除2,得空,以此类推,读取3,执行n,得出4,执行d,删除4,得空,但是读取5时,因为n无法执行,所以d不执行。因无-n参数,故输出1\n3\n5
[root@localhost ~]sed ‘N;D’ test.txt
This is
三剑客之SED的更多相关文章
- 文本处理三剑客之sed命令
第十八章.文本处理三剑客之sed命令 目录 sed介绍 sed命令常用选项 sed常用编辑命令 sed使用示例 sed高级语法 18.1.sed简介 sed全名stream editor,流编辑器,s ...
- Linux实战教学笔记12:linux三剑客之sed命令精讲
第十二节 linux三剑客之sed命令精讲 标签(空格分隔): Linux实战教学笔记-陈思齐 ---更多资料点我查看 1,前言 我们都知道,在Linux中一切皆文件,比如配置文件,日志文件,启动文件 ...
- (转)不看绝对后悔的Linux三剑客之sed实战精讲
不看绝对后悔的Linux三剑客之sed实战精讲 原文:http://blog.51cto.com/hujiangtao/1923718 二.Linux三剑客之sed命令精讲 1,前言 我们都知道,在L ...
- shell编程系列13--文本处理三剑客之sed利用sed追加文件内容
shell编程系列13--文本处理三剑客之sed利用sed追加文件内容 追加用法总结: .a 在匹配行后面追加 .i 在匹配行前面追加 .r 将文件内容追加到匹配行后面 .w 将匹配行写入指定文件 追 ...
- shell编程系列12--文本处理三剑客之sed利用sed修改文件内容
shell编程系列12--文本处理三剑客之sed利用sed修改文件内容 修改命令对照表 编辑命令 1s/old/new/ 替换第1行内容old为new ,10s/old/new/ 替换第1行到10行的 ...
- shell编程系列11--文本处理三剑客之sed利用sed删除文本中的内容
shell编程系列11--文本处理三剑客之sed利用sed删除文本中的内容 删除命令对照表 命令 含义 1d 删除第一行内容 ,10d 删除1行到10行的内容 ,+5d 删除10行到16行的内容 /p ...
- shell编程系列10--文本处理三剑客之sed利用sed查询特定内容
shell编程系列10--文本处理三剑客之sed利用sed查询特定内容 利用sed查找文件内容: pattern种类: .8p .,10p .,+5p ./regexp/p .,/regexp/p . ...
- shell编程系列9--文本处理三剑客之sed概述及常见用法总结
shell编程系列9--文本处理三剑客之sed概述及常见用法总结 sed的工作模式:对文本的行数据一行行处理,如下图 sed(stream editor),是流编辑器,依据特定的匹配模式,对文本逐行匹 ...
- day14 linux三剑客之sed命令
day14 linux三剑客之sed命令 sed命令 Sed 主要用来自动编辑一个或多个文件.简化对文件的反复操作.编写转换程序等. sed(流式编辑器) : sed主要用来修改文件. 1.sed命令 ...
- 文本处理的命令,三剑客之sed
文本处理的命令 1.sort命令 "用于将文件内容加以排序" 参数: -n :按照数值的大小排序 -r :以相反的顺序来排序 -k :以某列进行排序 -t :指定分隔符,默认是以空 ...
随机推荐
- win10 localhost 解析为 ipv6地址 ::1 的解决办法
今天遇到个奇怪的问题,localhost 访问时提示 not found 404,但是有127.0.0.1可以访问.最后找到原因,是因为 windows 把 localhost 解析为 ipv6 地址 ...
- php lock_sh共享锁 与 lock_ex排他锁
参考网站:http://hi.baidu.com/honly1215/item/8d27a66d11689c3aac3e83fe 文件锁有两种:共享锁和排他锁,也就是读锁(LOCK_SH)和写锁(LO ...
- consul 安装
1. linux 下consul 安装 首先查看机器信息: uname -a Linux centos-linux.shared 3.10.0-327.el7.x86_64 #1 SMP Thu No ...
- 使用扩展方法将DataTable转换为List<T>
在将DataTable转换为List<T>时,找到了网上的方案,原文链接:http://stackoverflow.com/questions/4593663/fetch-datarow- ...
- VMware安装centos虚拟机
vm中安装虚拟机,步骤,图片截取 VM中 --> 文件 --> 新建虚拟机 此处若是提示CPU不支持虚拟机安装 重启计算机,进入BIOS,修改cpu配置 点击next 下一步 .... 等 ...
- MyBatis与Hibernate的比较
Hibernate 与Mybatis都是流行的持久层开发框架,但Hibernate开发社区相对多热闹些,支持的工具也多,更新也快,当前最高版本4.1.8.而Mybatis相对平静,工具较少,当前最高版 ...
- Struts1.x有两个execute方法,不要重写错哦HttpServletRequest才是对的(转)
Struts1.x 的 Action 有两个 execute 哦,小心搞错! by agate - Published: 2008-05-01 [9:42 下午] - Category: 程序编码 不 ...
- js对话框5秒自动消失
使用了easyui的对话框控件 <html> <head> <title>5秒后关闭对话框</title> <meta http-equiv=&q ...
- [MySQL] 号称永久解决了复制延迟问题的并行复制,MySQL5.7
一.缘由: 某天看到主从复制延时的告警有点频繁,就想着是不是彻底可以解决一下. 一般主从复制,有三个线程参与,都是单线程:Binlog Dump(主) ----->IO Thread (从) - ...
- osgi笔记
Bundle-Classpath可以实现内嵌jar. 一个Bundle的Activator不需要进行Export 一个Package中的类被两个ClassLoader加载,包中的Private cla ...