sed的应用
sed的应用
一、sed命令(流编辑器)
sed编辑器逐行处理文件(或输入),并将结果发送到屏幕。
sed [-n] 'AddressCommand' file ..
-n 不打印;sed不写编辑行到标准输出,缺省为打印所有行(编辑和未编辑)。p命令可以用来打印编辑行。
-f 如果正在调用sed脚本文件,使用此选项。此选项通知sed一个脚本文件支持所有的sed命令.
例如:sed -f myscript.sed input_file,这里myscript . sed即为支持sed命令的文件。
-c 下一命令是编辑命令。使用多项编辑时加入此选项。如果只用到一条sed命令,此选项无用,但指定它也没有关系。
-i 编辑原文件(此选项慎用,如果使用则原文件就会被修改,无法恢复)。
-r 表示使用扩展正则表达式
sed由Adress和Command组成
二、Address(用于指定处理数)
1、指定行数量
如:sed -n "1,4p" /etc/passwd 1到4行显示
2、指定的某一行
如:
开头:sed -n "1" /etc/passwd
结尾:sed -n "$p" /etc/passwd
3、开始行,+N
显示从开始行,向后的N行
如:
sed -n "1,+2p" /etc/passwd 显示第1行的后2行
4、/模式(正则表达式)/:用来过滤特定的行
如:sed -n "/^root/p" /etc/passwd
5、/模式1/,/模式2/
第一次被模式1匹配到的行开始,到第一次被模式2匹配到的行结束,这中间的所有行。
如:sed -n "/\/bin\/bash$/p" /etc/passwd
三、Command
p:显示符合条件的行;
d:删除符合条件的行;
a \string :在符合条件的行后面添加;
\n:用于换行
i \string : 在指定的行前面添加新行,内容为string
r FILE : 将指定的文件的所有内容添加到符合条件行处
w FILE : 将指定范围内的内容另存为至指定的文件中
s/pattern/string/修饰符:查找并替换,默认只替换每行中第一次被模式匹配到的字符串。如果想替换全部加修饰符:
g:全局替换
i:忽略字符大小写
如;sed "s/\//#/g" /etc/fstab 把所有的/替换成#号
s///:可以不用/来作为分隔,可以是s***,s###
如:sed "s*\/*#*g" /etc/fstab
例子:如有一文件a内容为: hello like
haw a you ,love
自身引用(为串加上字符):
使用&:引用模式匹配的整个串
l..e : like --->liker
love --->lover
语句:sed "s#l..e#&r#g" a
后项引用(修改串):
l..e : like -->Like
love --> Love
语句:sed "s#l(..e)#L\1#g" a
sed的应用的更多相关文章
- 文本处理三剑客之sed命令
第十八章.文本处理三剑客之sed命令 目录 sed介绍 sed命令常用选项 sed常用编辑命令 sed使用示例 sed高级语法 18.1.sed简介 sed全名stream editor,流编辑器,s ...
- 6-2 sed 命令
1. sed : stream editor,流编辑器 是处理纯ASICC纯文本,按行琢行操作的. 编辑器有两种,行编辑器和全屏编辑器 sed:默认不编辑原文件,仅对模式空间中的数据做处理,而后.处理 ...
- 基本shell编程【3】- 常用的工具awk\sed\sort\uniq\od
awk awk是个很好用的东西,大量使用在linux系统分析的结果展示处理上.并且可以使用管道, input | awk '' | output 1.首先要知道形式 awk 'command' fi ...
- sed awk grep三剑客常用
sed的常用用法: awk的常用用法: grep的常用用法: 除了列出符合行之外,并且列出后10行. grep -A 10 Exception kzfinance-front.log 除了列出符合行之 ...
- linux shell 用sed命令在文本的行尾或行首添加字符
转自 http://www.cnblogs.com/aaronwxb/archive/2011/08/19/2145364.html 昨天写一个脚本花了一天的2/3的时间,而且大部分时间都耗在了sed ...
- Sed、Awk单行脚本快速参考
文本间隔: # 在每一行后面增加一空行 sed G awk '{printf("%s\n\n",$0)}' # 将原来的所有空行删除并在每一行后面增加一空行. # 这样在输出的文本 ...
- sed awk 样例
sed [options] '[action]' filename options: -n:一般sed命令会把所有数据都输出到屏幕,如果加入此选项,则只会把经过sed命令处理的行输出到屏幕. -e:允 ...
- linux sed命令详解
简介 sed 是一种在线编辑器,它一次处理一行内容.处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的 ...
- sed命令详解
搜索 纠正错误 添加实例 sed 功能强大的流式文本编辑器 补充说明 sed 是一种流编辑器,它是文本处理中非常中的工具,能够完美的配合正则表达式使用,功能不同凡响.处理时,把当前处理的行存储在临时 ...
随机推荐
- 用javascript写星际飞机大战游戏
在github里看到了个不错的脚本游戏,决定亲自动手来写,效果如下 下面是代码的思路分享 把整个代码理解消化确实不容易,但是如果你坚持看完相信你一定会有收获 如果没兴趣可以直接点击下面的链接 复制代码 ...
- 多用多学之Java中的Set,List,Map
很长时间以来一直代码中用的比较多的数据列表主要是List,而且都是ArrayList,感觉有这个玩意就够了.ArrayList是用于实现动态数组的包装工具类,这样写代码的时候就可以拉进 ...
- .Net中的AOP系列之《方法执行前后——边界切面》
返回<.Net中的AOP>系列学习总目录 本篇目录 边界切面 PostSharp方法边界 方法边界 VS 方法拦截 ASP.NET HttpModule边界 真实案例--检查是否为移动端用 ...
- C#与C++的发展历程第四 - C#6的新时代
*:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: 0 !important; } /* ...
- 赠书:HTML5 Canvas 2d 编程必读的两本经典
赠书:HTML5 Canvas 2d 编程必读的两本经典 这两年多一直在和HTML5 Canvas 打交道,也带领团队开发了世界首款基于HTML5 Canvas 的演示文档工具---AxeSlide( ...
- (转) [it-ebooks]电子书列表
[it-ebooks]电子书列表 [2014]: Learning Objective-C by Developing iPhone Games || Leverage Xcode and Obj ...
- 3D游戏中的画质与效率适配
哪里来的需求? 众所周知,由于不同的设备配置不同.导致其CPU和GPU处理能力有高有低.同样的游戏想要在所有设备上运行流畅且画面精美,是不可能的.这就需要我们针对不同的设备能力进行画质调节,以保证 ...
- C# OracleDBhelper
引用 using System.Configuration;using System.Data.OracleClient; 连接字符串 <connectionStrings> <ad ...
- SQL Server 多实例下的复制
一.本文所涉及的内容(Contents) 本文所涉及的内容(Contents) 背景(Contexts) 搭建步骤(Procedure) 注意事项(Attention) 二.背景(Contexts) ...
- 如何处理CSS3属性前缀
今天闲来无聊,重新来说说CSS3前缀的问题.在春节前和@一丝姐姐说起Sass中有关于gradient的mixins.姐姐说: 为什么还要用mixin呢?为什么不使用Autoprefixer?使用Aut ...